2

我正在使用灵活的 App Engine 和 Python3 构建一个应用程序。在标准应用引擎中,如果您需要运行超过 60 秒的任务,您可以使用任务队列,或者我已经成功完成的延迟库(任务队列的抽象)。

Flexible App Engine 不再支持包含这些功能的 appengine api。相反,功能正在迁移到 google-cloud 库 ( https://googlecloudplatform.github.io/google-cloud-python/ ) ( https://cloud.google.com/appengine/docs/flexible/python/ )迁移现有应用程序)。

您仍然可以使用仅限 Python 2 的 python-compat 配置访问这些 appengine api 功能。

有没有办法在灵活的 Appengine 中运行长任务(排队)而无需使用 python-compat 配置?

4

1 回答 1

0

我遇到了几乎完全相同的问题增加运行 Google 灵活应用程序引擎的代码的时间延迟 DeadlineExceededError ,认为问题是因为这个 deadlineexceedederror

但是因为这个问题询问了任务队列等,我想也许答案是不同的。实际上,归结为这样一个事实,即在使用 python3 的灵活环境中,这个任务运行时间超过 60 秒并不是一个约束,因为所有代码都在 docker 容器中运行。因此,甚至可能不需要运行任务队列等。

gunicorn 检查入口点配置可能是值得的。在app.yaml文件中添加-t选项和超时前允许的秒数。

runtime: python
env: flex
entrypoint: gunicorn -t 120 -b :$PORT main:app

这为我解决了这个问题,现在一个更长的代码在没有退出的情况下运行。

于 2018-06-04T19:15:08.260 回答