Я использую python Сельдерей (4.3.0) и настройка сельдерея
task_acks_late = True
worker_prefetch_multiplier = 1
task_queues = [
Queue('p', Exchange('p'), routing_key='p', queue_arguments={'x-max-priority': 9})
]
при использовании send_task, подобного этому
c = Celery('tasks', broker='rabbitmq')
c.send_task('p.tasks.mul', args=(1,2), queue='p', priority=1)
Поднимите подобные ошибки
amqp.exceptions.PreconditionFailed: Queue.declare: (406)
PRECONDITION_FAILED - неэквивалентный аргумент 'x-max-priority' для очереди 'p'
в vhost '/': не получено, но current это значение '9' типа 'signatureint'
Я думаю, что эта ошибка может вызывать проблемы с объявлением, когда сельдерей впервые объявляет очередь (внутри кодов в функции send_task
).
Как можно отправлять аргументы типа x-max-priority
при использовании send_task
? (не используется apply_async
или delay
из-за вызова другой машины).
Спасибо.