GAE 中的拉取队列是否表现出一致的 FIFO 行为?

2024-04-23

App Engine 中的推送队列通常是先进先出队列 https://developers.google.com/appengine/docs/java/taskqueue/overview-push#The_Rate_of_Task_Execution,但从链接的文档中可以看出,在队列有大量任务积压的情况下,调度程序可能会将新任务跳转到队列的头部以尝试减少延迟。

这种跳到队列前面的方式对于负载较重的应用程序来说是有意义的,但这意味着不能保证 FIFO 行为的一致性。

现在的问题是,拉动队列怎么样?上述行为在推送队列中有意义,但在拉取队列中则不太有意义,因为从拉取队列租用任务的责任和扩大工作人员数量的责任落到了应用程序本身。如果拉取队列中不存在跳队列行为,是否意味着拉取队列始终表现出 FIFO 行为?

此外,我似乎找不到任何有关任务排序的文档官方拉取队列文档 https://developers.google.com/appengine/docs/java/taskqueue/overview-pull.


不,两个拉取队列中都没有顺序保证。

虽然通常会首先租用预计到达时间最早的任务,但并不保证一定会出现这种情况。您的应用程序应该能够处理以任何顺序从队列中取出的任务。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GAE 中的拉取队列是否表现出一致的 FIFO 行为? 的相关文章

随机推荐