【问题标题】:Graceful way to restart resque workers重新启动 resque 工作人员的优雅方式
【发布时间】:2014-10-16 13:36:22
【问题描述】:

是否有一种优雅的方式来重新启动 resque 工作人员(比如在部署之类的事件之后),其中正在处理队列中的某些作业的工作人员不会立即被 SIGTERM 或 SIGKILL 等信号杀死,而是应该等待工人完成它正在做的任务并在工人空闲时杀死它。

我正在使用上帝来监控 resque 工作人员,我通过了 God homepage 但无法找到任何相关信息,但看到它只是监控流程的宝石,我认为它没有优雅的方式来做到这一点。

另外,我希望在部署时自动重启工作器,我已经查看了这两种方法(http://simonecarletti.com/blog/2011/02/how-to-restart-god-when-you-deploy-a-new-release/http://balazs.kutilovi.cz/2011/12/04/deploying-resque-scheduler-with-capistrano/)。如果有更好的方法,那将很有帮助。

【问题讨论】:

    标签: ruby-on-rails resque god


    【解决方案1】:

    原来 resque 有一个选项,如果你传递信号 SIGQUIT,它将等待工作人员完成工作然后退出工作人员,并且上帝可以选择为进程设置停止信号。因此,您可以将“QUIT”定义为 resque 工作人员的 stop_signal,当您停止上帝时,它会将信号 SIGQUIT 发送给工作人员。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-18
      • 1970-01-01
      • 2015-11-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多