0

我为我的 AppEngine API 设置了一个任务队列。API 处理大型请求,可能需要长达三个小时才能结束计算,一次处理一项任务。

我在 queue.yaml 文件中将“max_concurrent_requests”设置为 1,这样一次只有一个任务处于活动状态,并且也增加了 gunicorn 超时。

我的问题来了,因为 CloudTask 请求似乎有 10 分钟的超时,之后他们抛出一个错误:进程终止,因为请求截止日期已超过。请确保您的 HTTP 服务器正在侦听 0.0.0.0 和 PORT 环境变量定义的端口上的请求。(错误代码 123)

如何配置我的队列以等待前一个任务完成,而不是简单地超时?

4

1 回答 1

1

您很可能已在app.yaml文件中将 App Engine 服务缩放元素设置为“自动缩放”(或未定义它,自动缩放是默认值)。

自动缩放中的实例有 10 分钟的最后期限,如此所述。您需要使用更新的app.yaml文件重新部署您的服务,将缩放元素设置为“手动缩放”或“基本缩放”,以允许您的任务最多运行 24 小时。

于 2019-10-02T15:40:51.720 回答