为什么芹菜不给兔子MQ发送任务?



我正在使用 Celery 和 Django 和 RabbitMQ。当我这样做时

task.delay()

我得到了一个 AsyncResult,但任务永远不会到达芹菜工人,当我检查时

rabbitmqctl list_queues

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

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

事实证明,问题出在磁盘空间上:默认情况下,当可用磁盘空间低于 1GB 时,RabbitMQ 开始静默丢弃消息。

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

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

相关内容

  • 没有找到相关文章

最新更新