fastapi-scheduler
fastapi-scheduler copied to clipboard
关于 uvicorn 或者 gunicorn 启用多 process(多个 worker)的问题
uvicorn worker = 4 会有五个进程,主进程 uvicorn ,四个子进程 app 每个进程都会有自己的全局对象, 所以,
- 如果使用 python run.py , 在 run.py 内写 uvicorn 命令,则最好不要把 全局变量放在 run.py
- 要启动 (唯一)定时器,RLock 是不够的,它只是进程内对各个线程之间的锁,还需要外部辅助,filelock 或者 redis lock 或者 db lock 在 lifespan 或者 onstartup 里面,得加锁