以下是我在enviornment.rb中的内容。我明白有过 由于“守护进程”宝石中的错误而重新启动的问题 ghazel-daemons修复了它。但它不适合我的情况。我是 使用collectiveidea 2.1.0 - DJ的预备版本,rails 2.3.5。
config.gem 'delayed_job', :source => 'http://rubygems.org', :version
=> "2.1.0.pre"
config.gem "ghazel-daemons", :lib => "daemons", :source => 'http://
gems.github.com'
gem "ghazel-daemons"
require "daemons"
但我不能让delayed_job从capistrano重启。
desc "Restart the delayed_job process"
task :delayed_job_restart, :roles => :app do
run "cd #{current_path};#{get_rails_env} script/delayed_job
restart"
end
谢谢
答案 0 :(得分:0)
我目前在2.3.8中使用2.0.3没有问题,我相信2.1.0适用于rails 3(reference)。
我没有听说过ghazel-daemons
gem,我目前在使用守护进程gem运行的rails应用程序中有以下补丁:
补丁:http://blog.rapleaf.com/dev/wp-content/uploads/2008/07/daemons_extension.rb
写作:http://blog.rapleaf.com/dev/2008/02/15/making-sure-ruby-daemons-die/
答案 1 :(得分:0)
我会说坚持使用ghazel-daemons gem而不是猴子修补守护进程。
Geoff是正确的,但你不应该使用delayed_job 2.1 with rails< 3.0,在编写最新的rails 2兼容的delayed_job gem时是2.0.7。