Azure Service Bus получает цикл с параллелизмом - PullRequest
0 голосов
/ 03 сентября 2018

Я использую Azure Service Bus SDK (стандартная версия .NET) для получения сообщений из очереди и их импорта в базу данных SQL. Я использую ForEachAsync метод для повышения пропускной способности.

var receiver = new MessageReceiver(serviceBusConnectionString, queueName);
while (true)
{
    var messages = await receiver.ReceiveAsync(100);
    if (messages != null)
    {
        await ForEachAsync(messages, 10, async message =>
        {
            var success = await ProcessMessageAsync(message);
            if (success)
                await receiver.CompleteAsync(message.SystemProperties.LockToken);
            else
                await receiver.DeadLetterAsync(message.SystemProperties.LockToken);
        });
    }
};

В метриках Azure я вижу больше исходящих сообщений, чем входящих, что означает, что этот код получает одно и то же сообщение несколько раз.

Что может быть не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...