System.TimeoutException: операция, не завершенная в течение выделенного времени, происходит периодически при планировании сообщений на служебную шину Azure.

Я пытаюсь запланировать некоторые сообщения для очереди служебной шины параллельно с различными интервалами планирования для каждого сообщения. У меня есть несколько цепочек сообщений, и я планирую эти цепочки параллельно, и каждое сообщение в этих цепочках также планируется параллельно. Но периодически я вижу исключение TimeoutException, возникающее для нескольких цепочек.

Число параллельно выполняемых цепочек составляет около 100, каждая из которых имеет ~ 100-150 сообщений. Повторные попытки для операций служебной шины уже выполнены. Уже прошли все статьи TimeoutException, но ничего конкретного не удалось найти, чтобы решить эту проблему.

Вот мой код:

 Task<Guid[]> result = Task.WhenAll(queueTasks);
            try
            {
                var jobIds = await ExecuteWithRetryAsync(async () =>
                {
                    return await result.ConfigureAwait(false);
                }).ConfigureAwait(false);

                queuedJobIds = jobIds.ToList();
            }
            catch(TimeoutException ex)
            {
                _logger.LogError(ex, "Queueing failed.");
            }

Любая помощь или предложения по этому поводу будут оценены. Благодарю.

1 ответ

TimeoutException указывает на то, что инициируемая пользователем операция занимает больше времени, чем время ожидания операции. Это может произойти из-за сетевых или других задержек инфраструктуры.

Проверьте значение свойства ServicePointManager.DefaultConnectionLimit, поскольку нарушение этого предела также может вызвать исключение TimeoutException.

Другие вопросы по тегам