5

我有一个应用程序在后台做一些工作,使用默认的云任务来调度/执行进程。

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

根据Push Queues 上的文档(这似乎等同于现代 Cloud Tasks?),自动扩展的截止日期是 10 分钟,基本扩展的截止日期是 24 小时。

但是,我的工作似乎在 2 分钟后崩溃了。115秒没问题,121秒就崩溃了。在所有情况下,工作负载和资源消耗都是相同的。该消息始终是无用的“处理此请求的进程意外死亡。这可能会导致新进程用于对您的应用程序的下一个请求。(错误代码 203)”。

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

根据有关节点请求处理的文档,“请求处理程序”有 60 秒的超时

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

4

1 回答 1

5

简而言之,我认为可以帮助您解决方案的最佳推论是节点的请求超时,默认情况下恰好有 2 分钟超时


在龙,阅读你的问题后。我决定用它来创建 PoC

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

之前: 之前

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

然后:代码

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

结果:结果

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

于 2019-01-03T11:45:27.413 回答