railsのdelayed jobプロセスが落ちている場合、自動で再起動する仕組みをmonitを使って実現します
monitのインストール
$sudo yum install monit
設定ファイル
$sudo vi /etc/monit.d/delayed-job
下記のように編集します。
check process delayed_job with pidfile "/path/to/app/current/tmp/pids/delayed_job.pid" start program = "/bin/su - mate-dev -c 'cd /path/to/app/current; RAILS_ENV=production bundle exec bin/delayed_job start' stop program = "/bin/su - mate-dev -c 'cd /path/to/app[/current; RAILS_ENV=production bundle exec bin/delayed_job stop`
monit自動起動設定
$sudo chkconfig monit on
[code language="plain"]$sudo chkconfig --list | grep monit [/code]
monit起動
$sudo service monit start