我很努力得到在rails 3.0.9(ruby 1.9.2)下工作的delayed_job。我成功運行的唯一方法是將命令rake作業磁帶化:work。 但我希望在rails應用程序啓動時自動啓動它。運行delayed_job在與Ubuntu的監視下
我在ubuntu下安裝了monit,我將它配置爲啓動位於我的應用程序中的文件。這種失敗的樣子:
check process delayed_job with pidfile /home/me/myapp/tmp/pids/delayed_job.pid
start program = "/home/me/myapp/script/delayed_job start"
stop program = "/home/me/myapp/script/delayed_job stop"
而且我加了環境中的delayed_job腳本文件設置:
#!/usr/bin/env ruby
ENV['RAILS_ENV'] = "development"
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'environment'))
require 'delayed/command'
Delayed::Command.new(ARGV).daemonize
當我運行命令「命令的monit開始delayed_job的」我收到以下錯誤:
/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- bundler/setup (LoadError)
所以我想這是因爲sudo的使用錯誤版本的紅寶石環境 的話,我試過的解決方案: rvm monit delayed_job
通過在啓動程序/停止程序行中添加rvm -S。 但它仍然與錯誤而失敗:找不到RVM命令
我RVM目錄位於我的家目錄/home/me/.rvm
我試圖找到解決方法中(sudo changes PATH - why?)改變路徑通過添加環境變量
/usr/bin/env PATH=/home/me/.rvm/bin:$PATH
命令「sudo monit start delayed_job」成功!工人開始了。 但問題是:當我啓動須藤/etc/init.d/monit開始,當我看向系統日誌我仍然得到「delayed_job的」啓動失敗
所以我不知道如何調查更多,如何獲得更詳細的monit錯誤。