【问题标题】:Do Ruby Resque workers run in parallel?Ruby Resque 工作人员是否并行运行?
【发布时间】:2011-08-28 00:26:31
【问题描述】:

我排了一堆作业,每个作业都有一个打印出来的 id。令我惊讶的是,当我将 140 个作业排队时,每个作业都有不同的 sleep(n),我仍然可以看到工人按顺序输出。以下是从外部 http api 下拉页面的一些示例输出:

页码:124 页数:125 页数:126 页数:127 页数:128 页数:129 页数:130 页数:131 页数:132 页数:133

由于每个页面可能需要不同的时间,这不应该按顺序返回吗?

【问题讨论】:

    标签: ruby resque


    【解决方案1】:

    每个 resque worker 在一个线程中运行。如果您只有一个 resque 工作人员处理给定队列,则该队列将被串行处理。如果多个 resque 工作人员处理单个队列,您应该会看到结果按预期乱序返回。

    【讨论】:

    • 旁注:我发现 resque-pool gem 比开箱即用的 Resque rake 任务更容易管理具有多个工作人员的多个队列。
    猜你喜欢
    • 2011-10-27
    • 1970-01-01
    • 1970-01-01
    • 2012-10-05
    • 1970-01-01
    • 1970-01-01
    • 2020-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多