Masstransit失败的主机连接

问题描述 投票:0回答:1

我使用MassTransit.AspNetCore程序包将masstransit集成到asp.net core。所以我的Startup.cs类中包含以下代码:

IBusControl CreateBus(IServiceProvider serviceProvider)
        {
            return Bus.Factory.CreateUsingRabbitMq(cfg =>
            {
                cfg.Host(Configuration["rabbitMqUrl"], h =>
                {
                    h.Username(Configuration["rabbitMqUsername"]);
                    h.Password(Configuration["rabbitMqPassword"]);
                });
            });
        }

        services.AddMassTransit(CreateBus);

问题是,如果Rabbit mq不可用,我的应用程序将尝试重新连接到主机。有什么方法可以配置尝试次数-假设3次尝试后停止尝试重新连接,以便我的应用程序可以运行?

masstransit
1个回答
0
投票

bus.StartAsync()方法接受CancellationToken,可用于取消启动总线。有一个接受TimeSpan的过载,该过载可用于指定连接的超时。

托管服务也接受cancelToken,但是我不确定ASP.NET Core如何确定要传递给它的内容以及如何设置超时。

© www.soinside.com 2019 - 2024. All rights reserved.