google-cloud-tasks - 谷歌云任务:一些任务留在队列中而不是被处理
问题描述
我有一个谷歌云任务队列(速率:10/s,存储桶:200,并发:1)将任务分派给 App Engine 服务(python 2.7 运行时)中的工作人员任务通常添加到队列中大约 3-4/ s。每个任务一次处理一个(无并发)
一般来说,每个任务的处理速度都非常快(小于 1sg)。令人惊讶的是,队列有时会随机“暂停”一小部分 5-20 个任务。新的传入任务照常处理,但这些任务被阻塞并在队列中停留几分钟,即使工人空闲并可能处理它们。7-9 分钟后,它们会自动处理,无需任何其他交互。问题是这种延迟太多而且不可接受:(
在“暂停”时,我可以通过单击“运行”按钮手动执行这些任务,它们会立即得到处理。所以我会放弃对工人方面的某种限制。
我尝试重新部署 queue.yaml。我还尝试暂停和恢复队列。两者都没有效果。
不会通知任何错误。任务不会重试,只是忽略几分钟。
有没有人经历过这种行为?任何帮助将不胜感激。谢谢。
解决方案
Cloud Tasks 现在使用gcloud
(Cloud SDK) 来管理队列配置。queue.yaml
是用于 App Engine 任务队列的旧版 App Engine SDK 的一部分。queue.yaml
在使用 Cloud Tasks 时上传 a可能会导致您的队列被禁用或暂停。
要了解有关队列管理的更多信息,请参阅使用队列管理与 queue.yaml。
要了解有关从任务队列迁移到云任务的更多信息,请参阅从任务队列迁移到云任务
推荐阅读
- php - 在 Urban Airship 中列出活动日志的 API
- python - 从 db 中获取数据到列表中,用括号 [row1],[row2] python
- ansible - Ansible ssh 连接失败并显示“无法登录:连接被拒绝”
- python - 如何在 python 中为多个模块实现日志记录
- java - Spring Boot @Scheduled fixedDelay 在一段时间后停止工作
- java - 编译基于 Cucumber JUnit 的运行器类
- excel - VBA 将超链接的一部分替换到同一工作簿中的另一个工作表
- javascript - 如何暂停当前正在使用 getusermedia 录制的录制文件?
- azure - 如何正确地将 Azure CDN 端点映射到 blob 存储容器中的 Angular 7 项目
- jquery - 数据表在第二页不起作用