delayed_job从capistrano重启

时间:2010-08-02 23:50:06

标签: ruby-on-rails capistrano delayed-job

以下是我在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

谢谢

2 个答案:

答案 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。