MassTransit on Publish 方法操作已取消,但消息已发布
Posted
技术标签:
【中文标题】MassTransit on Publish 方法操作已取消,但消息已发布【英文标题】:MassTransit on Publish method operation cancelled but the message already published 【发布时间】:2022-01-16 19:50:42 【问题描述】:var tokenSource = new CancellationTokenSource(TimeSpan.FromSeconds(5));
await publishEndpoint.Publish(message, tokenSource.Token);
PublisherConfirmation 有默认值。
我有一个类似这样的代码,我对此代码的期望是,如果发布操作在 5 秒内未完成,则取消该操作。实际上,它是这样工作的,并在 5 秒后取消操作,但消息已经发布。所以问题是;即使操作被取消,是否可以发布消息?这是一个错误还是我们应该期待的?你有什么建议?
【问题讨论】:
【参考方案1】:如果操作被取消,则消息可能已经发布但尚未被 RabbitMQ 确认。可能是由于复制延迟、写入延迟或网络延迟,但情况就是如此。确保您的代理健康状况良好,没有过载、写入受限等。
【讨论】:
以上是关于MassTransit on Publish 方法操作已取消,但消息已发布的主要内容,如果未能解决你的问题,请参考以下文章
调用 on_publish 后如何更改 nginx rtmp 流名称
test for open live to publish on cnblogs