【发布时间】:2014-01-04 10:21:10
【问题描述】:
我正在使用 Celery、Django 和 RabbitMQ。我正在寻找一种方法来自动从 RabbitMQ 中的 celery 队列中清除旧消息。因此,每当默认创建队列时,它应该清除所有早于 x 秒的消息。
这些是我在 settings.py 中设置的变量。
CELERY_DEFAULT_EXCHANGE = 'celery'
CELERY_DEFAULT_EXCHANGE_TYPE = 'topic'
CELERY_DEFAULT_ROUTING_KEY = 'celery'
CELERY_DEFAULT_QUEUE = 'celery'
CELERY_EVENT_QUEUE_TTL= 30
我也试过这个,但它导致根本没有消息发送到 RabbitMQ。
CELERY_QUEUES = (
Queue('celery', routing_key='celery', queue_arguments={'x-message-ttl': 30}),
Queue('default', routing_key='default', queue_arguments={'x-message-ttl': 30}),
)
欢迎任何想法。
【问题讨论】:
标签: django rabbitmq celery django-celery