服务器使用gunicorn后全局变量报错(gunicorn多worker之间实现共享数据)
即你在a接口中给引入全局变量(global),并给该变量赋值,但当你在b接口中输出该全局变量时,会发现其并没有被赋值,这是因为gunicorn多worker之间,数据没办法用全局变量共享,单进程启动时,全局变量的的读写都没有问题,但是用gunicorn起的多worker,全局变量就会没法共享。其中的w-4表示开启4个进程,在使用过程中会出现全局变量的问题。解决方法最好是使用redis数据库存储全局
·
许多gunicorn的教程的启动命令都是这个
gunicorn main:app -b 10.0.4.11:8888 -w 4 -k uvicorn.workers.UvicornWorker --daemon
其中的w -4表示开启4个进程,在使用过程中会出现全局变量的问题
单进程启动时,全局变量的的读写都没有问题,但是用gunicorn起的多worker,全局变量就会没法共享
即你在a接口中给引入全局变量(global),并给该变量赋值,但当你在b接口中输出该全局变量时,会发现其并没有被赋值,这是因为gunicorn多worker之间,数据没办法用全局变量共享,
解决方法最好是使用redis数据库存储全局变量
更多推荐
所有评论(0)