AppEngine - 节点云任务处理程序的超时时间是多少?

AppEngine - What's the timeout for Node cloud tasks handlers?

我有一个在后台做一些工作的应用程序,使用默认的 Cloud Tasks scheduling/executing 进程。

我希望这份工作能够 运行 几分钟,或者至少了解实际的限制是什么以及我可以做些什么。

根据docs on Push Queues(这似乎等同于现代 Cloud Tasks?),截止日期为自动缩放 10 分钟,基本缩放 24 小时。

但是,我的工作似乎在 2 分钟后崩溃了。 115 秒没问题,121 秒就崩溃了。在所有情况下,工作负载和资源消耗都是相同的。消息总是无益的"The process handling this request unexpectedly died. This is likely to cause a new process to be used for the next request to your application. (Error code 203)".

无论我使用自动缩放的 F2 实例还是基本缩放的 B2 实例都没有关系。它在 2 分钟后终止。

根据 docs on Node request handling,"request handlers"

有 60 秒的超时

timeout到底是什么?是 1 分钟、2 分钟还是 10 分钟?如果我想让我的工作 运行 5 或 30 分钟,我可以做些什么来改变它。

简而言之,我认为可以帮助您解决方案的最佳推论是 Node's Request Timeout,默认情况下正好有 2 分钟的超时时间


In Long,看完你的问题。我决定用它来创建 PoC

  1. 创建了仅使用内置 HTTP 服务器的虚拟节点 8 服务
  2. 创建了一个 URL 路径,它可以有一个人为的长响应(使用 setTimeout)并且可以指定请求的持续时间(例如 /lr/300 意味着它将在大约 5 秒内响应分钟)
  3. 将其部署到 default 以外的 GAE 服务(Node8,自动缩放)
  4. 创建了请求 /lr/540 上述服务的云任务 "task"

之前: Before

如您所见,Cloud Tasks 和 App Engine 的问题等待时间超过 2 分钟,并且收到与您收到的相同的无用消息(处理此请求的进程意外终止...)

然后:Code

我写这行是为了增加全局请求超时

结果:Result

就我而言,我可以肯定地说是节点请求超时导致了问题。希望对你也有用