繁体   English   中英

Rails delay_job启动和停止

[英]Rails delayed_job start and stop

我在我的项目上使用了delay_job,直到现在为止在它起作用的控制台中调用rake job:work。

但是现在我正在尝试在一个具体事件之后停止处理作业,并在另一个事件之后继续处理。

为了模拟这种行为,我创建了一个脚本config / initializers / delayed_jobs.rb

puts "START DELAYED JOB PRE"
`script/delayed_job start`
puts "START DELAYED JOB POST"

并且仅调用第一个看跌期权,服务器陷入指令中,并且没有显示网络。

如何调用停止并启动delay_jobs获得正确的行为?

您可以将其移动到自己的线程中:

puts "START DELAYED JOB PRE"
Thread.new do
    `script/delayed_job start`
end
puts "START DELAYED JOB POST"

我建议使用外部守护程序,该守护程序负责保持您的工作人员正常运行。 我对用于resque队列的resque-pool有相当不错的经验。 通常,此类守护程序将使您仅通过向主进程发送信号即可暂停工作进程。 这也使部署重新启动和管理变得非常容易。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM