/// <inheritdoc/> public override async Task <bool> CheckHealthAsync(Dictionary <string, object> data, CancellationToken cancellationToken = default) { Logger.LogDebug("Listing Queues ..."); var queues = managementClient.GetQueuesRuntimePropertiesAsync(cancellationToken).AsPages(); await foreach (var _ in queues) { ; // there's nothing to do } if (!TransportOptions.UseBasicTier) { Logger.LogDebug("Listing Topics ..."); var topics = managementClient.GetTopicsRuntimePropertiesAsync(cancellationToken); await foreach (var t in topics) { cancellationToken.ThrowIfCancellationRequested(); Logger.LogDebug("Listing Subscriptions for '{TopicName}' topic ...", t.Name); var subscriptions = managementClient.GetSubscriptionsRuntimePropertiesAsync(t.Name, cancellationToken); await foreach (var _ in subscriptions) { ; // there's nothing to do } } } return(true); }
public async Task <Dictionary <string, QueueDetail> > GetAllQueueDetails() { var dict = new Dictionary <string, QueueDetail>(); var administrationClient = new ServiceBusAdministrationClient(connectionString); var queuesRuntimeProperties = administrationClient.GetQueuesRuntimePropertiesAsync().AsPages(); await foreach (var queuePage in queuesRuntimeProperties) { foreach (QueueRuntimeProperties currentQueue in queuePage.Values) { dict.Add( currentQueue.Name, new QueueDetail { ActiveMessageCount = currentQueue.ActiveMessageCount, TotalMessageCount = currentQueue.TotalMessageCount, DeadLetterMessageCount = currentQueue.DeadLetterMessageCount, }); } } return(dict); }