Google 云的应用引擎 (FLASK) 内存超出

Google cloud's app engine (FLASK)'s memory exceeded

我有一个 API 通过 Flask App Engine 公开并通过 GCP 任务触发, 我正在触发的代码正在查询一个外部 API,return 是一个非常大的响应(使用 requests 包)。

时不时看到任务要重做,根据google重试的原因是: INTERNAL(13): Memory Exceeded. HTTP status code 500

通过查看日志,似乎在我等待 requests post 到 return 时操作停止了。

我该如何解决?有没有办法更改 App Engine 可以使用的已分配内存?

假设每次调用的响应大小都相同,为什么有时有效有时无效? App Engine 内存是否在所有触发的路由之间共享?

is there a way of changing the allocated memory that can be used by the App Engine <

是的,通过 instance classes 在您的 app.yaml 文件中。一个实例 class 确定可供您的项目使用的最大 CPU 和内存量。

您应该注意,更改您的实例 class(使用具有更高内存的实例)可能会影响(增加)您的账单,除非您格外小心以保持在免费配额内

实例 classes 的进一步(简化)解释以及它们如何显示在您的账单上 here