在rails中设置队列以使用delayed_job是否有任何良好做法?
更精确:我打算用rails api ping一些web钩子。如果使用delayed_jobs,PseudoCode可能看起来像
get :ping do
present ping: :pong #grape style
# Bad, synchronous idea:
MyAwesomeTracker.send(event: "ping") # thi will wait for the server answer before it goes on
#Better: put it in a queue using delay_job:
MyAwesomeTracker.delay.send(event: "ping") # this will go to the queue
end
现在我使用job_delay或resque,我能够将事件发送到队列中,这很棒。
实际问题:在我部署api时,是否有任何良好的实践来部署工作人员? 工人失败怎么办?是否有任何环境可以在崩溃/故障后重新启动工作人员?
我已经看到可以通过运行rake some_command
启动工作人员,但我想知道的是如何设置一个简单的cap production deploy
将设置的环境api应用程序,以及一些监听队列的工作人员。
提前致谢!