- celery支持Prefork, Eventlet, gevent, threads/single threaded集中方式的并发
- 但在window上不支持Prefork,因此我在使用gevent或则eventlet的时候经常碰到worker在执行任务时,状态为offline
解决方法:将并发方式改为threads即可,代码如下:
celery -A tasks.tasks worker -P eventlet
# 上面的并发方式为单线程,有时会阻塞,导致不能获取worker状态,改为下面即可解决
celery -A tasks.tasks worker -P threads