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
我有一个 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