9

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

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

4

5 回答 5

8

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

于 2012-01-05T05:51:31.293 回答
6

如果您喜欢延迟作业,创建多个表很简单,每个队列一个

工人从

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

因此,您可以对其进行编辑并为每个表创建一个迁移。然后,当您开始工作时,您将为每个队列启动一名工作人员。

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

于 2010-06-10T20:08:09.413 回答
4

Resque是一个支持多个队列的作业队列库。

于 2010-10-12T23:43:46.503 回答
1

答案在这里:

Delayed_job - 多个并行队列?

使用 delay_job 中的 -i 选项(而不是用于生成多个工作人员的 -n 选项)为每个作业设置唯一 ID。

于 2013-09-11T15:30:18.057 回答
0

DJ 工作人员只需从队列中获取第一份工作(只有一个)并执行。每个工人都和其他工人一样。您可以运行多个工作人员,但他们都将在同一个队列中工作。

于 2010-06-10T15:35:41.250 回答