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.