Rails delayed_job开始和停止

时间:2012-11-20 10:54:45

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

我在我的项目中使用delayed_job,直到现在调用rake作业:在它运行的控制台中工作。

但是现在我试图在一个混凝土事件之后停止处理作业,并在其他事件之后继续处理。

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

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

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

如何调用stop并启动delayed_jobs获取正确的行为?

2 个答案:

答案 0 :(得分:0)

您可以将其移动到自己的主题中:

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

答案 1 :(得分:0)

我建议使用外部守护进程来负责让你的员工保持健康。我在为resque-pool队列设计的resque方面有很好的经验。通常这样的守护进程只允许您通过向主进程发送信号来暂停工作。它还使部署重新启动和管理变得非常容易。