为什么芹菜不向RabbitMQ发送任务?

时间:2014-02-12 18:14:34

标签: python django rabbitmq celery

我正在使用带有Django和RabbitMQ的Celery。当我做的时候

task.delay()

我得到了一个AsyncResult,但是当我检查

时,这个任务永远不会到达芹菜工人
rabbitmqctl list_queues

我看到我的队列有0条消息。当我删除队列并再次执行“task.delay()”时,会重新创建队列,但它仍然是空的。

1 个答案:

答案 0 :(得分:6)

昨天花了太多时间来解决这个问题。

原来问题是磁盘空间:默认情况下,当可用磁盘空间低于1GB时,RabbitMQ开始静默地丢弃消息。

事实上,您可以在RabbitMQ启动日志中看到有关它的消息,但如果它运行了一段时间,您可能无法找到它。

要解决此问题,您只需清除足够的磁盘空间或修改disk_free_limit RabbitMQ setting