Python Kombu在发布时断开连接

Python Kombu在发布时断开连接,python,rabbitmq,kombu,Python,Rabbitmq,Kombu,我在使用kombu 4.1发布消息时遇到问题。我的用例是,我有一个服务器,它从rabbitmq队列(队列1)收集消息,执行一些处理任务,然后将它们重新发布到另一个队列(队列2)。我从队列1进行消费没有问题,但当我尝试发布到队列2时,有一个间歇性故障导致我断开与rabbitmq的连接。我已经激活了重试和合并的ConsumerProducerMixin,但问题仍然存在。我也在kombu github页面上发布了本期,但没有任何效果:- 是否有人对这个问题有任何见解,它是否会在kombu 4.2中修复

我在使用kombu 4.1发布消息时遇到问题。我的用例是,我有一个服务器,它从rabbitmq队列(队列1)收集消息,执行一些处理任务,然后将它们重新发布到另一个队列(队列2)。我从队列1进行消费没有问题,但当我尝试发布到队列2时,有一个间歇性故障导致我断开与rabbitmq的连接。我已经激活了重试和合并的ConsumerProducerMixin,但问题仍然存在。我也在kombu github页面上发布了本期,但没有任何效果:-

是否有人对这个问题有任何见解,它是否会在kombu 4.2中修复,是否有不涉及切换到另一个库的工作


谢谢

这并不是一个关于为什么会发生这种情况的答案,而是两个似乎能为我们解决问题的解决办法

  • 在打开新连接时设置心跳=0(但可能需要心跳)
  • 将kombu版本降级为
    v4.0.2
    。如上所述,
    task\u publish\u retry\u策略
    似乎与
    kombu==4.1.0

我希望这有帮助

我已经找到了一个临时解决办法。我将publish命令放在一个for循环中,并设计了一个try-catch,用于在发布失败时手动重复publish命令多达30次。然而,这似乎是重试命令的复制。有人对此有进一步的了解吗?还有第三个工作,我在发布命令中添加了一个try,但publish命令除外,这样当它失败时,我会重新连接到rabbitmq并重试发送消息。这个手动版本的task_publish_retry_策略目前似乎可以工作,但我仍在等待该库未来版本的完整修复。