刚接手了一个公司内部用的项目,用的是 gunicorn+Flask 写的一个 web 服务。 由于执行的有部分业务是分析数据,耗时较长,所以想将该流程拆分,将分析任务拆分成小粒度的流程,自己请求自己,将任务分派给其他 worker 。 但是因为要控制执行分析任务的个数,避免占用太多资源,想用共享变量进行同步,而 gunicorn 框架的多进程是在其框架代码内部 fork 的,不清楚该如何实现进程间同步,请各位指点~ 文件结构 :
|--app |-- init.py |-- module1 |-- module2 |-- gun.conf
app/init.py from flask import Flask app = Flask(name)
使用 gunicorn -c gun.conf app:app 的方式启动 gun.conf 指定 worker_class = 'gevent'
感谢!