正在寻找对delayed_job
宝石的解释。
我了解它可以计划并保留需要完成的任务列表,并且可以通过active_job接口创建这些任务。
我不明白是什么开始了taskrunner
,或者是什么开始遍历了delay_job表中的工作列表。我可以使用whenever
宝石来执行此操作并将其称为同步作业吗?还是应该使用daemons
宝石?如果是这样,daemons
宝石和whenever
和有什么区别?
我对这一切感到有些困惑。
最后,我使用heroku进行登台,并通过capistrano管理vpn。那会如何发挥作用?
谢谢。
答案 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