【发布时间】:2014-08-13 08:25:39
【问题描述】:
我正在将一个应用程序运行到生产服务器中,该应用程序需要 DelayedJob 来执行后台任务。这些任务需要很长时间才能执行。
我的 deploy.rb 有这样的东西:
desc "Start workers"
task :start_workers do
run "cd #{release_path} && RAILS_ENV=production script/delayed_job -n 2 start"
end
desc "Stop workers"
task :stop_workers do
run "cd #{current_path} && RAILS_ENV=production script/delayed_job stop"
end
before "deploy", "stop_workers"
after "deploy:start", "start_workers"
现在,让我们假设有一个后台作业。我需要更新应用程序。运行部署,会导致延迟的作业停止,任务会中断。
如何在不停止后台作业的情况下进行部署?
【问题讨论】:
标签: ruby-on-rails capistrano delayed-job