我有个问题。我在heroku上使用resque。有 5 个工人和 5 个队列。现在,我可以在特定的工人(比如工人 1)上运行特定的队列(比如 queue4)吗?
问问题
499 次
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 回答