关于在Flask中开子进程

我在一个 app.py 文件里,还会开一个多进程,因为是在windows环境下,多进程需要在 if name == ‘main’ 下执行,所以代码是
if namemain’:
Process(target=xxx,).start()
app.run()
当我用 python app.py 文件的时候可以启动,但是当我用 flask run 的时候,其实 flask 是采用 from app import app 的方式来执行,并不会执行我创建子进程的那部分代码,这种情况下该怎么处理比较好?

不建议在WSGI app上带副作用(你这里app启动一个子进程就是副作用),应该把app视为一个纯函数

因为在gunicorn等WSGI server中,app可能被fork多个实例,如果带了任何副作用会导致重复执行
正确的方法,是另外启动额外的进程,比如绑定到一个flask command中,分别启动:

flask run
# 另一个session:
flask my_process