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