我想使用Delayed :: Job(或者更适合我的问题的作业队列)将作业分派到多个后台守护进程。使用Delayed :: Job来管理多个作业队列
我有几个执行不同职责的后台守护进程。每个人都对来自Rails应用程序的不同职位感兴趣。这是否可以使用Delayed :: Job,或者可能有更适合此任务的不同作业队列?
我想使用Delayed :: Job(或者更适合我的问题的作业队列)将作业分派到多个后台守护进程。使用Delayed :: Job来管理多个作业队列
我有几个执行不同职责的后台守护进程。每个人都对来自Rails应用程序的不同职位感兴趣。这是否可以使用Delayed :: Job,或者可能有更适合此任务的不同作业队列?
自那时以来http://github.com/collectiveidea/delayed_job已达到v3.0并包括命名队列!非常适合简单的分组队列需求。
DJ工作人员只是从队列中抓住第一份工作(只有一份),然后做。每个工人都是一样的。您可以运行多个工作人员,但他们都将从同一队列中工作。
如果你喜欢的延时工作,这将会是很简单的创建多个表,每个队列一个
工人得到它的从
class Job < ActiveRecord::Base
MAX_ATTEMPTS = 25
MAX_RUN_TIME = 4.hours
set_table_name :delayed_jobs
表名称,以便您可以编辑和创建每桌一次迁移。然后,当你开始工作时,你会为每个队列启动一名工作人员。
Resque是支持多个队列作业队列库。
答案就在这里:
Delayed_job - Multiple parallel queues?
使用中的delayed_job -i选项(而不是用于产卵多个工人-n选项)来设置一个唯一的ID为每个作业。