我有处理 GAE 数据库中的记录并上传到谷歌云的工作。由于要花很长时间,所以我使用任务队列一次处理一小批。但是我在日志中看到了非常一致的“进程终止,因为后端关闭时间太长”的问题。我知道我只有 30 秒的时间来清理,但我已经超过了那个时间限制。虽然我知道实例可能变得不可用并且有时需要关闭,但它经常发生,每次执行任务时需要 3 或 4 分钟(有时是 10 分钟,这是任务队列的时间限制),并且没有做太多工作每个任务。
我想知道后端关闭的原因可能是什么。是纯粹的服务器端问题还是代码中的某些错误也可能导致此问题?
谢谢!
请您参考如下方法:
Process terminated because the backend took too long to shutdown
部署新版本的后端时通常会出现错误。如果您有<dynamic>true</dynamic>
,谷歌也会经常关闭后端实例。选项启用。即使他们向您收取整整 15 分钟的费用,它也会在几分钟后执行此操作,因此请考虑使用永久实例而不是动态实例。
另一个问题可能是实例内存不足。在这种情况下,实例会自行重启,从而导致提到的错误。您可以尝试使用具有更多内存的实例类型,例如 B2 或 B4。