flask 多进程多线程

app.run() 中可以接受两个参数,分别是 threadedprocesses,用于开启线程支持和进程支持。

1
app.run(processes=5, threaded=True)
  • threaded:是否开启多线程,默认不开启。
  • processes:进程数量,默认为 1。

注:

  • Windows 环境不支持多进程。若在 windows 环境开启多进程,即设置 processes 大于1,即报错。

    1
    2
    3
    File "C:\ProgramData\Anaconda3\envs\python37\lib\site-packages\werkzeug\serving.py", line 847, in __init__
    raise ValueError("Your platform does not support forking.")
    ValueError: Your platform does not support forking.
  • debug=True 时设置的多线程无效

  • 多进程和多线程不能同时开启

    1
    2
    3
    File "C:\ProgramData\Anaconda3\envs\python37\lib\site-packages\werkzeug\serving.py", line 874, in make_server
    raise ValueError("Cannot have a multi-thread and multi-process server.")
    ValueError: Cannot have a multi-thread and multi-process server.

flask 多进程多线程
https://flepeng.github.io/021-Python-32-框架-Flask-flask-多进程多线程/
作者
Lepeng
发布于
2021年3月31日
许可协议