masstransit - Masstransit 主机连接失败
问题描述
我使用该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 次尝试后停止尝试重新连接,以便我的应用程序可以运行?
解决方案
该bus.StartAsync()
方法接受 a CancellationToken
,可用于取消启动总线。有一个接受 a 的重载,TimeSpan
它可用于指定连接的超时时间。
托管服务也接受 cancelToken,但我不确定 ASP.NET Core 如何确定传递给它的内容以及如何设置超时。
推荐阅读
- javascript - 对象值的总和数组
- bash - 如何说 shell 脚本在给定的时间范围内运行?
- linux - 如何在 git(不是 github)中创建新的用户帐户?
- php - 多个数据集到谷歌图表
- mysql - 如何在 WordPress 中加入空的用户元?
- android - 列表未添加到android中的arraylist
- ios - 显示 Invalid Binary Xcode 11 beta 6 的 iOS 应用
- typescript - 抑制打字稿编译中的 ERRNO 2 错误
- ionic-framework - 是否有任何离子代码可以使用 ionic 3 在蓝牙打印机上打印条码
- r - 从 mutate 中的符号创建列(整洁的评估)