feat(api, bll): переделал сервис получения статистики из RabbitMQ. StatRabbitMqController - статистика по очередям и соединениям

This commit is contained in:
Mikhail Trubnikov
2024-05-24 14:52:25 +10:00
parent f35092dd51
commit 8de174ebb9
13 changed files with 158 additions and 77 deletions

View File

@@ -155,34 +155,6 @@ namespace PARR.BLL.Services.Implementations
}
}
public MqQueueCountResult GetQueueCount(IMqSettings mqSettings, string queueName)
{
var factory = new ConnectionFactory
{
HostName = mqSettings.HostName,
UserName = mqSettings.User,
Password = mqSettings.Password,
};
try
{
using (var connection = factory.CreateConnection())
using (var channel = connection.CreateModel())
{
var messageCount = channel.MessageCount(queueName);
var consumerCount = channel.ConsumerCount(queueName);
return new MqQueueCountResult { Count = (int)messageCount, ConsumerCount = (int)consumerCount, IsSuccess = true };
}
}
catch (Exception ex)
{
logger.LogError(ex, $"Ошибка при запросе кол-ва сообщений в очереди {queueName}");
return new MqQueueCountResult { Count = 0, IsSuccess = false, Exception = ex };
}
}
public void Dispose()
{
channel?.Close();