Google App Engine Cloud Tasks - 503 请求在等待太长时间试图为您的请求提供服务后被中止

问题描述

我有一个具有以下配置的推送队列:

Rate limits
-----------------
Max rate - 500/s
Max concurrent - 8
Max burst size - 100

Retry parameters
---------------------------
Max attempts - 3
Min interval - 5s
Max interval - 3600s
Max doublings - 16
Max retry duration - Unlimited

我有以下服务执行队列中的任务:

runtime: python38
service: tasks

instance_class: B2
basic_scaling:
  max_instances: 2
  idle_timeout: 10m

inbound_services:
- warmup

问题:

为了测试,我将每个任务的执行时间设置为 ~60s。 一旦我将一堆任务放入队列中(假设为 1000) 其中一些失败并显示以下错误 - 503 Request was aborted after waiting too long to attempt to service your request. http 请求在返回 503 错误之前等待了大约 30 秒。

我预计会发生什么:

任务应该在队列中等待,直到服务准备好执行它们,不应该发生错误,任务不应该丢失!!!

其他信息(您尝试过的解决方法、查阅的文档等):

我还在服务日志中看到 502 错误。 我尝试使用最大并发队列参数、instance_class、缩放类型。

如果我将较小的一组任务放入队列(~100),则不会发生错误。 我用一个简单的 for 循环将任务放入队列

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)