我有一个django
项目,其中celery
配置为redis
broker
和backend
。我有一组异步执行的任务,我使用save
的{{1}}和restore
方法,以便我可以使用ajax更新前端任务的进度。当GroupResult
大小比CPU核心数少1时,这一切都能正常工作。每当组大小大于或等于CPU核心数时,芹菜都会收到所有任务,除非我重新启动芹菜,否则接下来什么都不会发生。所有任务都已完成,但我必须重新启动它。
我的芹菜设置如下:
group
我也使用BROKER_URL = 'redis://localhost:6379/0'
CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'
CELERY_ACCEPT_CONTENT = ['pickle']
CELERY_TASK_SERIALIZER = 'pickle'
CELERY_RESULT_SERIALIZER = 'pickle'
代替redis作为Broker,但同样的事情也发生在Rabbitmq的情况下。为什么会这样?我无法在这个问题上找到任何东西。