如何在排队后尽快安排推送队列任务安排执行?
我们是否需要使用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>
答案 0 :(得分:1)
拉取队列和推送队列都可能出现延迟。任务队列提供可靠的任务执行,从不早于请求但有时更晚,例如从一个数据中心故障转移到另一个数据中心时。调度是尽力而为,而不是实时。