使用Capistrano和Rails配置延迟作业4

我试图让Capistrano使用Rails 4应用程序启动/停止延迟作业。 我按照这里的说明进行操作 ,但它说Rails 3.这就是它现在配置的方式:

deploy.rb:

require 'delayed/recipes' after "deploy:start", "delayed_job:start" after "deploy:stop", "delayed_job:stop" after "deploy:restart", "delayed_job:stop","delayed_job:start" 

当我尝试部署时,我尝试执行RAILS_ENV =生产脚本/ delayed_job停止后收到以下错误

 sh: script/delayed_job: not found 

找到了解决方法( 设置:delayed_job_command,“bin / delayed_job” )并希望这有助于其他人!

deploy.rb:

 require 'delayed/recipes' set :delayed_job_command, "bin/delayed_job" after "deploy:start", "delayed_job:start" after "deploy:stop", "delayed_job:stop" after "deploy:restart", "delayed_job:stop","delayed_job:start" 

接受的答案对我来说也不起作用。 我做了以下

deploy.rb

 def rails_env fetch(:rails_env, false) ? "RAILS_ENV=#{fetch(:rails_env)}" : '' end execute "cd #{current_path};#{rails_env} bin/delayed_job restart" 

对我来说这没用。 我的生产环境包括ubuntu 12.04,rails 4,rbenv ruby​​ 2,以及部署capistrano 3.在使用每个适用的解决方案搞砸了很多之后,我在重启任务中的deploy.rb中提出了这一行。

执行:ruby,“/ var / www / app / current / bin / delayed_job restart”

这么简单,但我花了2天的时间想出来。 在我的设置中,我不得不手动将bin / delayed_job放到位。

希望其他人觉得这很有帮助。