1

我有个问题。我在heroku上使用resque。有 5 个工人和 5 个队列。现在,我可以在特定的工人(比如工人 1)上运行特定的队列(比如 queue4)吗?

4

2 回答 2

1

你不能。Resque 要求您在环境变量中(或在.resque项目顶部的文件中)设置 QUEUE。
在heroku上,您不能根据测功机拥有不同的环境变量。

但是,您可以在您的 中执行以下操作Procfile

urgent: QUEUE=urgent rake environment resque:work
low: QUEUE=low rake environment resque:work

您将获得两个不同的工作人员,并且可以根据您的需要分别扩展他们。
它们都将类似地运行,但有不同的环境变量使用不同的队列。

于 2013-06-04T08:32:34.943 回答
0

如果你使用delayed_job,这可行

在 Procfile 中。

worker_l:捆绑执行 rake 作业:work QUEUE=worker_l worker_m:捆绑执行 rake 作业:work QUEUE=worker_m worker_h:捆绑执行 rake 作业:work QUEUE=worker_h worker_u:捆绑执行 rake 作业:work QUEUE=worker_u

接着

handle_asynchronously :do_it, :queue => 'worker_h'

于 2014-03-15T11:00:50.177 回答