使用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放到位。
希望其他人觉得这很有帮助。