Not able to start a dead letter queue (RabbitMQ / Celery)
I have defined
CELERY_TASK_QUEUES = (
Queue('celeryDrawingRegister', Exchange('celeryDrawingRegisterExchange', type='direct'), routing_key='register.#', queue_arguments={
'x-dead-letter-exchange': 'dlx_exchange'
}),
Queue('celeryDrawingRegisterDLQ', Exchange('dlx_exchange'), routing_key='dlq.#'), # Dead Letter Queue
)
in my settings.py file, I then run my workers using
celery multi start devCeleryDatasheetMaitainance devCeleryDocument devCeleryDrawingRegister -A imageTranslateApp -l info -P eventlet --loglevel=DEBUG -c:devCeleryDatasheetMaitainance 3 -c:devCeleryDocument 3 -c:devCeleryDrawingRegister 3 -Q celeryDatasheetMaintainance,celeryDocument,celeryDrawingRegister,celeryDrawingRegisterDLQ
Now my normal workers and task works fine , but I can't use celeryDrawingRegister as Dead Letter queues to acknowledge task and then send it to celeryDrawingRegisterDLQ. What am i missing here??
P.S This is my Celery configuration
import os
from celery import Celery
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'imageTranslateApp.settings')
app = Celery()
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()