【问题标题】:Delayed Job Capistrano task without restarting each time延迟作业 Capistrano 任务,无需每次重新启动
【发布时间】:2013-06-19 07:33:18
【问题描述】:

这怎么可能?

我目前正在使用 delayed_job 附带的 Capistrano 配方

这就是我所拥有的:

# Delayed Job recipes
require "delayed/recipes"

set :rails_env, "production" # added for delayed job

after "deploy:stop",    "delayed_job:stop"
after "deploy:start",   "delayed_job:start"
after "deploy:restart", "delayed_job:restart"

我不太了解 Capistrano 阶段,也许解决方案是将正确的任务设置为正确的阶段。

 更新

每次部署我都会得到

executing `delayed_job:restart'

这真的需要吗?有没有办法在需要时重新启动delayed_job?还是一直需要?

【问题讨论】:

  • 我不明白这是什么问题?你想达到什么目的?

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


【解决方案1】:

我也不确定您在寻找什么,但也许很简单

cap delayed_job:stop

从命令行会做什么?您可以在

查看所有可用任务
cap -T

更新

我认为最好在每次部署时重新启动延迟作业工作人员。最后,工作人员执行您的代码,这往往会在部署之间发生变化。现在,如果您的工作人员运行的代码很少更改(包括 rails 启动过程、环境文件、初始化程序、设置、您使用的模型等),并且您想自己处理这些,那么只需删除钩子,例如

after "deploy:stop",    "delayed_job:stop"

从 deploy.rb 中,你很好:dj 任务仍然由你支配,但它们不会在部署期间被触发。

【讨论】:

    猜你喜欢
    • 2011-03-24
    • 1970-01-01
    • 2016-03-29
    • 2011-05-14
    • 2011-03-07
    • 1970-01-01
    • 1970-01-01
    • 2012-03-20
    • 1970-01-01
    相关资源
    最近更新 更多