当组中的任务数大于CPU核心数时,Celery组不执行任务

时间:2017-05-09 04:53:32

标签: django redis celery

我有一个django项目,其中celery配置为redis brokerbackend。我有一组异步执行的任务,我使用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的情况下。为什么会这样?我无法在这个问题上找到任何东西。

0 个答案:

没有答案