我试图运行使用monit的delayed_job,但它无法作为rvm的路径(本地rvm安装每个用户)运行对命令不可用。我的应用程序是一个捆绑器的rails2应用程序。 Monit无法找到捆绑商。有没有人有任何建议,我怎么可以告诉关于监视的RVM路径?rvm monit delayed_job
我收到错误
[[email protected] current]$ monit start delayed_job -c config/delayed_job.monitrc
'delayed_job' start: /usr/bin/env
'delayed_job' failed to start
no such file to load -- bundler
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
/home/rails/public_html/myapp/current/config/../config/preinitializer.rb:3
/home/rails/public_html/myapp/current/config/boot.rb:28:in `load'
/home/rails/public_html/myapp/current/config/boot.rb:28:in `preinitialize'
/home/rails/public_html/myapp/current/config/boot.rb:10:in `boot!'
/home/rails/public_html/myapp/current/config/boot.rb:123
/home/rails/public_html/myapp/current/config/environment.rb:12:in `require'
/home/rails/public_html/myapp/current/config/environment.rb:12
/home/rails/public_html/myapp/current/script/delayed_job:3:in `require'
/home/rails/public_html/myapp/current/script/delayed_job:3
我的config/delayed_job.monitrc
set daemon 120
check process delayed_job with pidfile /home/rails/public_html/myapp/shared/pids/delayed_job.pid
start program = "/usr/bin/env RAILS_ENV=staging /home/rails/public_html/myapp/current/script/delayed_job start"
stop program = "/usr/bin/env RAILS_ENV=staging /home/rails/public_html/myapp/current/script/delayed_job stop"
和脚本/ delayed_job的可执行
#!/usr/bin/env ruby
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'environment'))
require 'delayed/command'
Delayed::Command.new(ARGV).daemonize
这对我的作品!现在尝试了几个小时的许多不同的解决方案。 – Frexuz 2012-01-14 21:33:55