Очередь служебной шины Azure не получила все сообщения из очереди. При развертывании проекта в службе приложений.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Очередь служебной шины Azure не получила все сообщения из очереди. При развертывании проекта в службе приложений.

Сообщение Anonymous »

У меня есть проект службы Windows .NET, развернутый в службе приложений Azure. Моя цель — получить 100 000 сообщений из очереди служебной шины Azure и обработать эти сообщения в обработчике сообщений. Однако после обработки примерно 800 сообщений служба перестает получать новые сообщения и простаивает. Как я могу гарантировать, что служебная шина Azure продолжает получать и обрабатывать все 100 000 сообщений без остановки?

Код: Выделить всё

public void ReceiveMessages(string queueName, string namespaceConnectionString, string appInsightInstrumentationKey, string domainUrl, SecretClient client)
{

Код: Выделить всё

  var clientOptions = new ServiceBusClientOptions()
{
TransportType = ServiceBusTransportType.AmqpWebSockets,
};
var serviceBusClient = new ServiceBusClient(namespaceConnectionString, clientOptions);
var adminClient = new ServiceBusAdministrationClient(namespaceConnectionString);
var processorOptions = new ServiceBusProcessorOptions
{
AutoCompleteMessages = false,
MaxAutoLockRenewalDuration = TimeSpan.FromHours(1)
};
var serviceBusProcessor = serviceBusClient.CreateProcessor(queueName, new ServiceBusProcessorOptions());
_serviceBusProcessor = serviceBusProcessor;

var handlerParams = new MessageHandlerParameter
{
AppInsightInstrumentationKey = appInsightInstrumentationKey,
DomainUrl = domainUrl,
Client = client
};
try
{
// Add handler to process messages;
serviceBusProcessor.ProcessMessageAsync += (args) => MessageHandlerAsync(args, handlerParams);

// Add handler to process any errors;
serviceBusProcessor.ProcessErrorAsync += ErrorHandlerAsync;

serviceBusProcessor.StartProcessingAsync();

Console.WriteLine("Wait sometime for processing to start");
Task.Delay(Timeout.InfiniteTimeSpan);
}
catch (Exception ex)
{
}
finally
{
_ = serviceBusProcessor.DisposeAsync();
_ = serviceBusClient.DisposeAsync();
}
Я рассчитываю получить 100 тысяч сообщений без остановки.

Подробнее здесь: https://stackoverflow.com/questions/793 ... the-projec
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»