Warm tip: This article is reproduced from serverfault.com, please click

masstransit-RabbitMQ内存警报关闭时,PublishEndpoint.Publish会永远挂起

(masstransit - PublishEndpoint.Publish hangs forever when RabbitMQ Memory Alarm goes off)

发布于 2020-12-03 10:54:42

我正在使用MassTransit和RabbitMQ。当RabbitMQ RAM使用量超过某个限制时,会发出内存警报在RabbitMQ管理网站的概述中,内存指示器变为红色并显示状态

该节点的内存警报已关闭。它将阻止传入的网络流量,直到内存使用率降到水印以下。

在这种状态下,我的服务仍尝试使用MassTransit发布消息。但是,发布异步任务将永远不会完成/永远等待继续。在我看来,MassTransit发布中似乎缺少某些超时机制。如果在一定时间后无法发布消息,我会期望一个例外。我找不到配置超时行为的方法。

你如何处理这种情况?

谢谢

Questioner
Diego Frehner
Viewed
0
Chris Patterson 2020-12-03 21:04:31

Publish方法接受CancellationToken,可用于取消发布。先前已通过有关如何指定超时的代码示例对此进行了回答