"挂起/未完成/未完成-6ren"> "挂起/未完成/未完成-下面的代码已经工作了一段时间,但突然停止返回: await availableChangedPublishEndpoint .Publish( AvailableStockCou-6ren">
gpt4 book ai didi

rabbitmq - 为什么 "await Publish"挂起/未完成/未完成

转载 作者:行者123 更新时间:2023-12-02 21:37:04 28 4
gpt4 key购买 nike

下面的代码已经工作了一段时间,但突然停止返回:

await availableChangedPublishEndpoint
.Publish<IAvailableStockChanged>(
AvailableStockCounter.ConvertSkuQtyToAvailableStockChangedEvent(
newAvailable,
absMessage.Warehouse)
);

ConvertSkuQtyToAvailableStockChangedEvent 中没有什么聪明之处。 - 它只是将一个简单的类映射到另一个。

我们在这段代码之前和之后添加了日志,它肯定就在此时停止了。其他系统发布良好,其他消息正在从该应用程序发送(例如日志实际上是通过 RabbitMQ 发送的)。我们已重新部署并升级到最新的 MassTransit 版本。我们看到这些消息正在被发布 - 可能多次,但是这个 Publish方法永远不会返回。

最佳答案

我们有一个损坏的 RabbitMQ 节点,并在一个节点上重新启动干净的服务修复了它。我知道这种行为可能还有其他原因,但这是我们的问题。

systemctl 重新启动rabbitmq-server

进一步研究 RabbitMQ,我们发现连接到此交换的一些队列未同步(见下文),当我们尝试同步它们时,它们不起作用。

enter image description here

我们也无法删除其中一些不同步的队列。

我们认为其中一个节点的意外关闭导致了此问题 - 但它使大多数队列/交换完全正常。

关于rabbitmq - 为什么 "await Publish<T>"挂起/未完成/未完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55066237/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com