Mass Transit -RabbitMQ超时后消息是否仍在传递

d7v8vwbk  于 2022-11-08  发布在  RabbitMQ
关注(0)|答案(1)|浏览(179)

这可能是一个非常愚蠢的问题,但我还没有能够在网上找到一个明确的答案。我正在使用Masstransit请求/响应模式和RabbitMQ作为我的消息代理。
我有一个向数据库添加用户的请求,一个使用者运行在一个单独的服务中,该服务使用该请求并发送响应。
请求有10秒的超时时间。我的问题是:如果请求在使用者能够使用它之前超时,那么该请求是被删除,还是最终被使用者使用,请求客户端只是超时并继续前进?

nnsrf1az

nnsrf1az1#

请求客户机用于请求,默认情况下请求的超时为30秒(您已指明要将其更改为10秒)。此设置同时应用于请求客户机超时(客户机停止等待响应的时间点)和发送的消息的生存时间。
如果要延长消息的TimeToLive,可以在发送请求时使用以下命令更改该值:

await client.GetResponse<T>(request, x =>
    x.Execute(context => context.TimeToLive = TimeSpan.FromDays(10)));

TL;DR -是,请求消息将在10秒后过期,并由消息代理自动从队列中删除。

相关问题