公共交通失败的主机连接
Masstransit failed host connection
我使用 MassTransit.AspNetCore
包将 masstransit
集成到 asp.net core
。所以我的 Startup.cs
class:
中有以下代码
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 次尝试后停止尝试重新连接,这样我的应用程序就可以 运行?
bus.StartAsync()
方法接受一个CancellationToken
,可用于取消启动总线。有一个接受 TimeSpan
的重载,可用于指定连接超时。
托管服务也接受 cancellationToken,但我不确定 ASP.NET Core 如何确定要传递给它的内容以及如何设置超时。
我使用 MassTransit.AspNetCore
包将 masstransit
集成到 asp.net core
。所以我的 Startup.cs
class:
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 次尝试后停止尝试重新连接,这样我的应用程序就可以 运行?
bus.StartAsync()
方法接受一个CancellationToken
,可用于取消启动总线。有一个接受 TimeSpan
的重载,可用于指定连接超时。
托管服务也接受 cancellationToken,但我不确定 ASP.NET Core 如何确定要传递给它的内容以及如何设置超时。