【问题标题】:Why celery doesn't send tasks to RabbitMQ?为什么 celery 不向 RabbitMQ 发送任务?
【发布时间】:2014-02-12 18:14:34
【问题描述】:

我将 Celery 与 Django 和 RabbitMQ 一起使用。当我这样做时

task.delay()

我得到一个 AsyncResult,但任务永远不会到达 celery 工人和我检查时

rabbitmqctl list_queues

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

【问题讨论】:

    标签: python django rabbitmq celery


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2017-03-12
      • 2019-08-15
      • 2016-07-13
      • 2019-04-07
      • 2011-07-18
      • 2011-07-17
      • 2014-01-18
      • 2012-02-23
      • 2017-10-04
      相关资源
      最近更新 更多