我最近开始在Google Cloud平台上使用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
感谢您的宝贵时间。
发布于 2020-12-13 02:18:06
App Engine等Google服务旨在对web服务器HTTP请求/响应设计进行建模。您正试图将它们用作任务/执行引擎。
如果您需要较长的执行时间,这通常意味着需要超过几分钟才能完成的请求,请使用正确的服务。使用云任务和计算引擎。否则,您将需要构建您的应用程序以适应App Engine的要求和限制。
用于异步任务执行的云任务
发布于 2020-12-13 03:38:14
如果您想使用App Engine,您需要使用基础伸缩或手动伸缩。我知道手动缩放不是你的最爱,我也不喜欢这种模式。但基本的缩放是可以接受的。
此外,它更多是为了执行后台任务而设计的,这正是您试图实现的。
如果您接受此更改,则可以使用Cloud Task。你
超时时间长达24小时
如果您的App Engine服务是基本扩展(或手动扩展)
你有相同的信息,在
App Engine文档中的伸缩描述
..。
当您使用基本缩放时,您的
实例类型需要更新为BXXX
..。
https://stackoverflow.com/questions/65267202
复制相似问题