繁体   English   中英

如何避免任务队列中的执行延迟

[英]How to avoid execution delays in Task Queues

入队后如何尽快安排执行的Push Queue Tasks?

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

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

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

<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>

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM