Python 3 中 CGP 上没有 10 分钟超时的 Cloud Tasks / Cron / Task Queue 的替代方案

Alternative to Cloud Tasks / Cron / Task Queue on CGP in Python 3 that doesn't have a 10 minute timeout

我最近开始在 Google Cloud Platform 上使用 App Engine 并设置了一些 cron 作业来完成一些计划的工作。然而最近我的一个任务花费了 10 多分钟并且超时了......显然我可以将这项工作分成批次或找到解决问题的另一种方法,但是我不想总是注意工作可能需要多长时间接受并希望未来的工作 运行 直到完成或失败。

我调查了 Google 提供的各种服务,但没有成功; Task Queue 仅 Python 2.x 并且 Cloud Tasks 具有相同的 10 分钟限制,除非您手动管理缩放(我希望保持自动,因为这对我来说是 App Engine 的重点)。

我错过了什么吗?这 10 分钟的限制似乎是一个不必要的大障碍,我不知道去哪里看。

https://cloud.google.com/tasks/docs/creating-appengine-handlers

感谢您的宝贵时间。

Google App Engine 等服务旨在为 Web 服务器 HTTP 请求/响应设计建模。您正在尝试将它们用作 task/execute 引擎。

如果您需要较长的执行时间,请使用正确的服务,这通常意味着需要几分钟以上的时间才能完成请求。使用云任务和计算引擎。否则,您将需要构建您的应用程序以符合 App Engine 的要求和限制。

Cloud Tasks for Asynchronous task execution

如果您想使用 App Engine,您需要使用基本缩放或手动缩放。我知道手动缩放不是您的最爱,我也不喜欢这种模式。但是基本缩放还是可以接受的。

此外,它更适合执行后台任务,这正是您想要实现的目标。

如果您接受此更改,则可以使用 Cloud Task。如果您的 App Engine 服务处于基本扩展(或手动)状态,您 have up to 24H of timeout

您在 scaling description on App Engine documentation 上有相同的信息。

当您使用基本缩放时,您的 instance type needs to be updated to BXXX