我将 Celery 与 Django 和 RabbitMQ 一起使用。当我做的时候
task.delay()
我得到一个 AsyncResult,但任务永远不会到达 celery workers 并且当我检查时
rabbitmqctl list_queues
我看到我的队列有 0 条消息。当我删除队列并再次执行“task.delay()”时,队列被重新创建,但它仍然是空的。
请您参考如下方法:
昨天花了太多时间解决这个问题。
原来问题是磁盘空间:默认情况下,当可用磁盘空间低于 1GB 时,RabbitMQ 开始静默丢弃消息。
事实上,您可以在 RabbitMQ 启动日志中看到有关它的消息,但如果它运行了一段时间,您可能很难找到它。
要解决此问题,您只需清理足够的磁盘空间或修改 disk_free_limit RabbitMQ setting .
