在使用MassTransit库发布消息时,是否有方法指定超时值。当消息代理出现故障时,如何处理场景。现在看来,Publish调用将无限期等待。控制这些行为会很好。我们应该依赖取消令牌吗?超时实现可能会更好。
您可以将CancellationToken
传递给Publish
。如果取消,将抛出一个OperationCanceledException
。如果要使用超时,可以创建一个具有超时的CancellationTokenSource
。
using var source = new CancellationTokenSource(TimeSpan.FromSeconds(30));
await bus.Publish(message, source.Token);