Skip to content

Commit 98d94c2

Browse files
committed
fix rmq health check
1 parent dad2745 commit 98d94c2

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

src/Pandatech.VerticalSlices/SharedKernel/Extensions/MassTransitExtension.cs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ public static WebApplicationBuilder AddMassTransit(this WebApplicationBuilder bu
1313
{
1414
x.AddConsumers(assemblies);
1515
x.SetKebabCaseEndpointNameFormatter();
16-
1716
x.UsingRabbitMq((context, cfg) =>
1817
{
1918
cfg.Host(builder.Configuration.GetRabbitMqUrl());
@@ -22,12 +21,12 @@ public static WebApplicationBuilder AddMassTransit(this WebApplicationBuilder bu
2221
r.Exponential(5, TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(30), TimeSpan.FromSeconds(2)));
2322
});
2423
});
25-
24+
2625
builder
2726
.Services
2827
.AddHealthChecks()
2928
.AddCheck<RabbitMqHealthCheck>("rabbit_mq", timeout: TimeSpan.FromSeconds(3));
30-
29+
3130
return builder;
3231
}
3332
}
@@ -43,14 +42,22 @@ public async Task<HealthCheckResult> CheckHealthAsync(HealthCheckContext context
4342
Uri = new Uri(rmqConnectionString),
4443
AutomaticRecoveryEnabled = true
4544
};
45+
var connection = default(IConnection);
4646
try
4747
{
48-
await factory.CreateConnectionAsync(cancellationToken);
48+
connection = await factory.CreateConnectionAsync(cancellationToken);
4949
return HealthCheckResult.Healthy("RabbitMQ is healthy.");
5050
}
5151
catch (Exception e)
5252
{
5353
return HealthCheckResult.Unhealthy("RabbitMQ is unhealthy.", e);
5454
}
55+
finally
56+
{
57+
if (connection is not null)
58+
{
59+
await connection.CloseAsync(cancellationToken);
60+
}
61+
}
5562
}
5663
}

0 commit comments

Comments
 (0)