【发布时间】:2017-10-11 11:38:53
【问题描述】:
每当我运行 celery worker 时,我都会收到警告
./manage.py celery worker -l info --concurrency=8
如果我忽略了这个警告,那么我的芹菜工人没有收到芹菜节拍任务
googled之后我也改了worker名字,但是这次我没有收到警告但是celery worker仍然没有收到celery beat定时任务
我查看了 celery beat 日志,celery beat 可以按时调度任务。
我还检查了芹菜花及其显示两个工人,第一个工人正在接收任务而不执行它,如何将所有任务发送给第二个工人?或者我如何禁用第一个 kombu 工人,我缺少什么 djagno-celery 设置?
我的 django settings.py
RABBITMQ_USERNAME = "guest"
RABBITMQ_PASSWORD = "guest"
BROKER_URL = 'amqp://%s:%s@localhost:5672//' % (RABBITMQ_USERNAME,
RABBITMQ_PASSWORD)
CELERY_DEFAULT_QUEUE = 'default'
CELERY_DEFAULT_EXCHANGE = 'default'
CELERY_DEFAULT_ROUTING_KEY = 'default'
CELERY_IGNORE_RESULT = True
CELERY_ACCEPT_CONTENT = ['json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
celery_enable_utc=True
import djcelery
djcelery.setup_loader()
【问题讨论】:
-
你检查过你没有运行任何你不知道的奇怪的后台芹菜任务吗?您在终端中从
ps ax | grep celery得到什么输出?
标签: python django rabbitmq celery django-celery