Я установил celery 4.1.1 и настроил очереди и маршруты, но рабочий принимает данные только через имя celery.
BROKER_URL = 'redis://localhost:6379/0'
CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'
CELERY_DEFAULT_QUEUE = 'default'
CELERY_TASK_SERIALIZER = 'json'
CELERY_DEFAULT_ROUTING_KEY = "default"
CELERY_DEFAULT_EXCHANGE = "default"
CELERY_DEFAULT_EXCHANGE_TYPE = "direct"
CELERY_QUEUES = {
'default': {
"exchange": "default",
"binding_key": "default"
},
'recon_queue': {
"exchange": "recon_queue",
"routing_key": "recon_queue"
}
}
CELERY_ROUTES = {
'reconciliation.tasks.sync_bag': {'queue': 'default'},
'common.consumer.kafka_consumer': {'queue': 'recon_queue'}
}
CELERYBEAT_SCHEDULE = {
"kafka_consumer": {
'task': 'kafka_consumer',
'schedule': crontab(minute='*/01'),
},
}
Периодическая задача выполняется с помощью сельдерея. Эта команда отлично работает - сельдерей -A inferno worker -l info -Q celery -c1 Этот воркер сам выполняет все задачи.
Но эти команды не действуют сельдерей -A inferno worker -l info -Q default -c1 сельдерей -A inferno worker -l info -Q recon_queue -c1
изменил имя "recon_queue" на "kafka_consumer" везде, но безрезультатно





Может быть, это имя? т.е. в вашем CELERYBEAT_SCHEDULE имя задачи - «kafka_consumer», но в CELERY_ROUTES вы определяете recon_queue для имени задачи «common.consumer.kafka_consumer»?