2010-06-10 62 views
9

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

我有几个执行不同职责的后台守护进程。每个人都对来自Rails应用程序的不同职位感兴趣。这是否可以使用Delayed :: Job,或者可能有更适合此任务的不同作业队列?

回答

0

DJ工作人员只是从队列中抓住第一份工作(只有一份),然后做。每个工人都是一样的。您可以运行多个工作人员,但他们都将从同一队列中工作。

6

如果你喜欢的延时工作,这将会是很简单的创建多个表,每个队列一个

工人得到它的从

class Job < ActiveRecord::Base 
    MAX_ATTEMPTS = 25 
    MAX_RUN_TIME = 4.hours 
    set_table_name :delayed_jobs 

表名称,以便您可以编辑和创建每桌一次迁移。然后,当你开始工作时,你会为每个队列启动一名工作人员。

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