rvm monit delayed_job

杀马特。学长 韩版系。学妹 提交于 2019-12-01 01:04:45

If you already have properly working monit with other services and just need to add delayed_job daemon for rvm environment you can try to use this conf file (it works for me)

/etc/monit/conf.d/delayed_job.conf (i have ubuntu server)

check process delayed_job with pidfile /{project_folder}/tmp/pids/delayed_job.pid
start program = "RAILS_ENV=production rvm -S /{project_folder}/script/delayed_job start"
stop program = "RAILS_ENV=production rvm -S /{project_folder}/script/delayed_job stop"

Here rvm -S command let script run under current rvm ruby environment

You can try to start daemon with

$ RAILS_ENV=production rvm -S /{project_folder}/script/delayed_job start

command and if daemon will start (check it with changing last word to 'status') than you have good chances with delayed_job.conf file

And do not forget to check if pid file had created in tmp/pids/ folder too

'rvm -S' didn't work for me.

The instructions on http://matthew.mceachen.us/blog/howto-make-system-wide-rvm-installations-work-with-cron-monit-delayed_job-and-passenger-1021.html did.

check process delayed_job.0
  with pidfile /u/apps/adgrok/shared/pids/delayed_job.0.pid
  start program = "/usr/local/bin/rvm-shell -c 'RAILS_ENV=production /u/apps/adgrok/current/script/delayed_job start -i 0'" as uid deploy and gid deploy
  stop program = "/usr/local/bin/rvm-shell -c 'RAILS_ENV=production /u/apps/adgrok/current/script/delayed_job stop -i 0'" as uid deploy and gid deploy
  if 2 restarts within 15 cycles then timeout

There is also a noteworthy reference to a thread of discussion with the author of RVM about monit : http://groups.google.com/group/rubyversionmanager/browse_thread/thread/d1a6c1f6396a8bf6/51afece4c8943912?#51afece4c8943912

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!