1

我们如何在入队后尽快安排推送队列任务执行?

我们是否需要使用 Pull Queues 来使用 cron 作业?

我们会定期看到在我们的推送队列中等待执行的任务有很长的延迟(20 分钟)。我们将在队列中看到 6,000 多个任务,在最后一分钟没有执行和未执行。然后任务最终被安排执行,我们得到一个大的突发峰值,因为队列以很快的速度耗尽。

例如,队列定义如下所示:

<queue>
    <name>example</name>
    <target>1</target>
    <rate>20/s</rate>
    <bucket-size>40</bucket-size>
    <max-concurrent-requests>10</max-concurrent-requests>
    <retry-parameters>
        <min-backoff-seconds>10</min-backoff-seconds>
        <max-backoff-seconds>60</max-backoff-seconds>
        <max-doublings>2</max-doublings>
    </retry-parameters>
</queue>
4

1 回答 1

1

拉队列和推队列都可能发生延迟。任务队列提供可靠的任务执行,从不早于请求,但有时会晚于请求,例如从一个数据中心故障转移到另一个数据中心时。调度是尽力而为的,而不是实时的。

于 2012-04-06T05:36:51.997 回答