我有一个Google Cloud Task队列(速率:10 / s,存储桶:200,并发:1),该队列将任务分派给App Engine服务(python 2.7运行时)中的工作程序,任务通常添加到大约3个队列中-4 /秒。每个任务一次处理一次(无并发性)
通常,每个任务的处理速度都非常快(小于1sg)。令人惊讶的是,队列有时会随机“暂停” 5-20个任务的一小部分。新来的任务照常处理,但那些任务被阻塞并在队列中保留了几分钟,即使工作人员空闲并可能在处理它们。 7-9分钟后,将自动处理它们,而无需其他任何交互。问题是此延迟太多,无法接受:(
在“暂停”期间,我可以通过单击“运行”按钮来手动执行这些任务,然后立即对其进行处理。所以我会放弃对工人的某种限制。
我尝试重新部署queue.yaml。我还尝试暂停并恢复队列。两者都无效。
没有错误通知。任务不会重试,只是会被忽略几分钟。
有人经历过这种行为吗?任何帮助将不胜感激。谢谢。
答案 0 :(得分:0)
Cloud Tasks现在使用gcloud
(Cloud SDK)来管理队列配置。 queue.yaml
是适用于App Engine任务队列的旧版App Engine SDK的一部分。使用“云任务”时上载queue.yaml
可能会导致您的队列被禁用或暂停。
要了解有关队列管理的更多信息,请参见Using Queue Management versus queue.yaml。
要了解有关从任务队列迁移到云任务的更多信息,请参阅Migrating from Task Queues to Cloud Tasks