我想使用 Delayed::Job (或者可能更适合我的问题的作业队列)将作业分派给多个后台守护进程。
我有几个执行不同职责的后台守护进程。每个人都对 Rails 应用程序队列中的不同作业感兴趣。这是否可以使用 Delayed::Job,或者可能有一个更适合此任务的不同作业队列?
我想使用 Delayed::Job (或者可能更适合我的问题的作业队列)将作业分派给多个后台守护进程。
我有几个执行不同职责的后台守护进程。每个人都对 Rails 应用程序队列中的不同作业感兴趣。这是否可以使用 Delayed::Job,或者可能有一个更适合此任务的不同作业队列?
从那时起http://github.com/collectiveidea/delayed_job已经达到 v3.0 并包括命名队列!非常适合简单的分组队列需求。
如果您喜欢延迟作业,创建多个表很简单,每个队列一个
工人从
class Job < ActiveRecord::Base
MAX_ATTEMPTS = 25
MAX_RUN_TIME = 4.hours
set_table_name :delayed_jobs
因此,您可以对其进行编辑并为每个表创建一个迁移。然后,当您开始工作时,您将为每个队列启动一名工作人员。
来源:http: //github.com/tobi/delayed_job
Resque是一个支持多个队列的作业队列库。
DJ 工作人员只需从队列中获取第一份工作(只有一个)并执行。每个工人都和其他工人一样。您可以运行多个工作人员,但他们都将在同一个队列中工作。