检测Flask是否通过Gunicorn运行?
有没有办法检查我的 Flask 应用是否在 gunicorn 容器中运行?现在我设置了一个环境变量来告诉我的应用,但我希望这个过程能自动化。此外,有没有办法检查正在使用哪个工作类?
我需要检测这个是出于几个不同的原因。请注意,我通常使用 gunicorn,但在测试时有时不会使用。
- 日志记录:当在 gunicorn 中运行时,我会连接到 gunicorn 的信息日志,否则我会连接到标准输出日志。
- Eventlet/子进程:因为我使用子进程,所以我需要确保在使用 eventlet 时正确地进行猴子补丁,否则它的行为会不正确。(我会调用很多子进程)。
1 个回答
31
虽然我来得有点晚,但我找到了一种很简单的方法,似乎可以解决这个问题:
is_gunicorn = "gunicorn" in os.environ.get("SERVER_SOFTWARE", "")