关于Delayed_Jobs

时间:2019-01-28 13:42:04

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

正在寻找对delayed_job宝石的解释。

我了解它可以计划并保留需要完成的任务列表,并且可以通过active_job接口创建这些任务。

我不明白是什么开始了taskrunner,或者是什么开始遍历了delay_job表中的工作列表。我可以使用whenever宝石来执行此操作并将其称为同步作业吗?还是应该使用daemons宝石?如果是这样,daemons宝石和whenever和有什么区别?

我对这一切感到有些困惑。

最后,我使用heroku进行登台,并通过capistrano管理vpn。那会如何发挥作用?

谢谢。

1 个答案:

答案 0 :(得分:1)

有一个delayed_job脚本,它需要作为单独的进程运行。

  

script/delayed_job可用于管理将开始处理工作的后台进程。

     

要这样做,请将gem "daemons"添加到Gemfile中,并确保已运行rails生成了delay_job。

https://github.com/collectiveidea/delayed_job#running-jobs

对于heroku,see docs

您需要使用以下内容更新Procfile

worker: rake jobs:work