【问题标题】:Rails: Resque parellel queuesRails:Resque 并行队列
【发布时间】:2013-08-11 19:02:43
【问题描述】:

我有多个作业在 Resque 的多个队列中运行。我的问题是,当一个队列运行大量作业时,它会占用我的其他队列。

如何让 Resque 运行并行队列,但仍将每个队列一次限制为一个作业?

【问题讨论】:

    标签: ruby-on-rails redis resque


    【解决方案1】:

    您可以为每个队列启动不同的工作人员。

    为此,您必须在 QUEUE 环境变量上指定要处理的队列名称。

    因此,如果您有 3 个队列,您将执行以下操作:

    • QUEUE=queue1 bundle exec rake resque:work
    • QUEUE=queue2 bundle exec rake resque:work
    • QUEUE=queue3 bundle exec rake resque:work

    【讨论】:

    • 如果我这样做,我必须对我所有的员工都这样做,对吧?另外,有没有关于这方面的文档供进一步阅读?
    • 是的,你是对的。在我看来,最好为每个工作人员指定队列名称。您可以在 QUEUE var 中指定多个队列,resque 将按照您指定的顺序检查队列。您可以在 Resque README github.com/resque/resque/blob/1-x-stable/… 上阅读更多信息(我想您使用的是 1.x 版)。请注意,使用 QUEUE=* 队列按字母顺序处理。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-11
    • 2014-04-02
    • 2012-03-17
    • 2013-02-16
    • 2018-07-24
    相关资源
    最近更新 更多