MassTransit on Publish 方法操作已取消,但消息已发布
MassTransit on Publish method operation cancelled but the message already published
var tokenSource = new CancellationTokenSource(TimeSpan.FromSeconds(5));
await publishEndpoint.Publish(message, tokenSource.Token);
PublisherConfirmation 具有默认值。
我有一个这样的代码,我对这段代码的期望是,如果发布操作在 5 秒内未完成,则取消该操作。实际上,它是这样工作的,并在 5 秒后取消操作,但消息已经发布。所以问题是;即使操作被取消,是否可以发布消息?这是一个错误还是这是我们应该期待的?你有什么建议?
如果操作被取消,消息可能已经发布但尚未被 RabbitMQ 确认。可能是由于复制延迟、写入延迟或网络延迟,但情况就是如此。确保您的经纪人身体健康,没有超载,写入受限等
var tokenSource = new CancellationTokenSource(TimeSpan.FromSeconds(5));
await publishEndpoint.Publish(message, tokenSource.Token);
PublisherConfirmation 具有默认值。
我有一个这样的代码,我对这段代码的期望是,如果发布操作在 5 秒内未完成,则取消该操作。实际上,它是这样工作的,并在 5 秒后取消操作,但消息已经发布。所以问题是;即使操作被取消,是否可以发布消息?这是一个错误还是这是我们应该期待的?你有什么建议?
如果操作被取消,消息可能已经发布但尚未被 RabbitMQ 确认。可能是由于复制延迟、写入延迟或网络延迟,但情况就是如此。确保您的经纪人身体健康,没有超载,写入受限等