如何解决谷歌云平台默认队列暂停
在过去 3 天内,我们的 GCP“默认”队列自行暂停了 5 次(我们没有手动暂停它)。这在过去从未发生过,而且我们已经使用 GAE / GCP 任务队列 4 年了。手动恢复队列可以解决问题,但它非常不方便,因为我们整天使用它来处理对业务至关重要的中小型任务。然而,我们每天最多只能创建大约 200-300 个任务。
有什么改变或损坏了吗?
巧合的是,几天前在部署我们的应用引擎标准应用程序时出现了一个奇怪的错误,它在部署的最后失败,指的是队列问题。我在错误消息中找到了一个链接,它转到启用 API 的页面。我必须启用该 API(它指的是任务或队列 API),这解决了部署问题。我很确定我们的应用没有使用该 API(我们在应用中根本不管理队列) - 我们只向队列添加任务。
我不确定这两个事件是否相关,但似乎很巧合,可能是直接原因。
我打开了默认队列的日志记录,在暂停事件使用“默认”严重性级别暂停时不会出现特定于暂停事件的消息。有消息显示任务到达队列。
我在 Google 上搜索了这个问题,但没有找到。
解决方法
每次我将新版本部署到应用引擎时,我都能确定默认队列进入暂停状态。我能够通过在 queue.xml 文件中定义默认队列来纠正这个问题,该文件以前只有备份队列。这是我的新 queue.xml 文件...
<queue-entries>
<queue>
<name>default</name>
<rate>5/s</rate>
<max-concurrent-requests>100</max-concurrent-requests>
<retry-parameters>
<!-- only 20 retry attempts (default is unlimited) -->
<task-retry-limit>20</task-retry-limit>
</retry-parameters>
</queue>
<queue>
<name>backup-queue</name>
<rate>15/s</rate>
<!-- recommended to be rate/5 -->
<bucket-size>3</bucket-size>
<max-concurrent-requests>10</max-concurrent-requests>
<target>ah-builtin-python-bundle</target>
<retry-parameters>
<!-- only 2 retry attempts -->
<task-retry-limit>2</task-retry-limit>
</retry-parameters>
</queue>
</queue-entries>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。