如果 __name __ == '__main__' ,gunicorn 也会执行吗

per*_*eka 4 python flask gunicorn discord discord.py

例如我有一个这样的命令gunicorn --bind 0.0.0.0:8000 --workers = 3 --threads = 3 manage: app然后从文件manage: app中获取manage.py

app = create_app ()
Run Code Online (Sandbox Code Playgroud)

if__name __ == '__ main__'函数也是这样吗

if __name__ == '__main__':
     flask_thread (func = run)
     client.run (os.getenv ('TOKEN'))
Run Code Online (Sandbox Code Playgroud)

运行Gunicorn时执行?

Teg*_*gar 5

简答

不,gunicorn 导入您的app变量并调用它。不会if被执行。

更长的答案

__name__是一个特殊的变量。如果我们直接使用运行您的模块,python manage.py那么该值为__main__。所以,这if是真的。

但是,如果我们使用类似的东西运行另一个(包括gunicorn)导入的模块from manage import app,则该值是'app''manage.app'(您可以自己检查)。不用说,if条件将为 False。