Skip to main content
 首页 » 编程设计

python之为什么 celery 不向 RabbitMQ 发送任务

2025年05月04日25arxive

我将 Celery 与 Django 和 RabbitMQ 一起使用。当我做的时候

task.delay() 

我得到一个 AsyncResult,但任务永远不会到达 celery workers 并且当我检查时

rabbitmqctl list_queues 

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

请您参考如下方法:

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

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

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

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