我的后端通过 API 调用自己 - 与烧瓶网络服务器配合使用正常,与 gunicorn 挂起



我的应用程序是一个 Flask 后端,它为 SPA 前端反应应用程序提供服务。后端实际上由 2 层组成,称为 api 和 bff。这三者都从同一进程运行。

前端调用 bff 有时调用 api 层 - REST API 调用,而不是内部函数调用。 例如,后端执行 requests.get("http://localhost/api/foo"(。

当我使用 flask 网络服务器在本地运行我的应用程序时,它绝对可以正常工作。 当我使用 gunicorn 在本地运行我的应用程序时,从前端到后端的调用工作正常,但后端对自身的调用却不能。

我不明白有什么不同。这是一个典型的打印输出;我的打印调试消息显示正在调用的 URL,后跟 30 秒后的 Gunicorn 关键工人死亡消息。我注意到会话 cookie 实际上在这一点上被擦除,因此工人实际上正在死亡。为什么?!

http://localhost:5000/api/requests/
[2020-05-20 21:30:12 +0100] [769] [CRITICAL] WORKER TIMEOUT (pid:771)

我将非常感谢这里的任何帮助,谢谢。

我不清楚为什么我没有看到任何错误,但看起来有一个未处理的错误。我修复了这个问题,现在可以工作了。当我在本地运行时,我使用的是略有不同的配置,该配置没有遇到未处理的错误,因此这不是等效方案。

最新更新