首先描述问题
celery 4.+ 号称不支持windows,所以我用了celery 3.+
但是问题在于我的python版本用的是3.7
在python3.7+的版本中,async成为了关键词
所以celery3.+ 版本就会报一个async的错误
其实celery 的开发者已在新版本中修复了这个问题
套娃了
由于我不想改python的环境
所以我只能顶着bug用celery4.+
我选择的是 celery4.3
pip安装指定版本即可
pip install celery==4.3
就解决了async的bug
但是在windows下启动worker的时候还会有另外的错误
win10需要用协程的方式启动celery worker
pip install eventlet
启动worker的时候加一个参数 -P eventlet
celery -A worker -l info -P eventlet
在celery中
from celery import Celery
import os
os.environ.setdefault('FORKED_BY_MULTIPROCESSING', '1') # 加上这句话
app = Celery(XXX)
参考
https://blog.csdn.net/apple_sir_bai/article/details/106649125
在此表示感谢