fastapi-scheduler icon indicating copy to clipboard operation
fastapi-scheduler copied to clipboard

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

Open fxconfig opened this issue 1 year ago • 0 comments

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

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

fxconfig avatar Jan 11 '25 05:01 fxconfig