使用Delayed :: Job来管理多个作业队列

Ale*_*lex 9 ruby ruby-on-rails delayed-job

我想使用Delayed :: Job(或者更合适的作业队列来解决我的问题)将作业分派给多个后台守护进程.

我有几个背景守护进程执行不同的职责.每个人都对Rails应用程序中队列中的不同作业感兴趣.这可能是使用Delayed :: Job,或者是否有更好的工作队列更适合这项任务?

小智 8

从那以后http://github.com/collectiveidea/delayed_job已达到v3.0并包含命名队列!非常适合简单的分组队列需求.


Jes*_*ott 6

如果你喜欢延迟作业,那么创建多个表就足够了,每个队列一个

工人从中获取它的表名

class Job < ActiveRecord::Base
    MAX_ATTEMPTS = 25
    MAX_RUN_TIME = 4.hours
    set_table_name :delayed_jobs
Run Code Online (Sandbox Code Playgroud)

因此,您可以编辑它并为每个表创建一个迁移.然后当你开始工作时,你将为每个队列启动一个工作人员.

资料来源:http://github.com/tobi/delayed_job