我有一个问题。我在heroku上使用resque。有5名工人和5个队列。 现在,我可以在特定工作者上运行特定队列(比如说queue4)(假设工人1)。
答案 0 :(得分:1)
.resque
文件中)设置QUEUE。
在heroku上,你不能根据dyno使用不同的环境变量。
您可以在Procfile
:
urgent: QUEUE=urgent rake environment resque:work
low: QUEUE=low rake environment resque:work
您将获得两名不同的工作人员,并可根据您的需要单独进行扩展 它们都会运行相似,但是不同的环境变量使用不同的队列。
答案 1 :(得分:0)
如果您使用delayed_job,则可以使用
在Procfile中。
worker_l:bundle exec rake jobs:work QUEUE = worker_l worker_m:bundle exec rake jobs:work QUEUE = worker_m worker_h:bundle exec rake jobs:work QUEUE = worker_h worker_u:bundle exec rake jobs:work QUEUE = worker_u
然后
handle_asynchronously:do_it,:queue => 'worker_h'