Skip to content

关于 uvicorn 或者 gunicorn 启用多 process(多个 worker)的问题 #14

@fxconfig

Description

@fxconfig

uvicorn worker = 4
会有五个进程,主进程 uvicorn ,四个子进程 app
每个进程都会有自己的全局对象,
所以,

  1. 如果使用 python run.py , 在 run.py 内写 uvicorn 命令,则最好不要把 全局变量放在 run.py
  2. 要启动 (唯一)定时器,RLock 是不够的,它只是进程内对各个线程之间的锁,还需要外部辅助,filelock 或者 redis lock 或者 db lock
    在 lifespan 或者 onstartup 里面,得加锁

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions