【问题标题】:System.TimeoutException: The operation did not complete within the allocated time occurs intermittently while scheduling messages to Azure service busSystem.TimeoutException:在将消息调度到 Azure 服务总线时间歇性发生操作未在分配的时间内完成
【发布时间】:2018-08-20 10:00:48
【问题描述】:

我正在尝试将一些消息与每个消息的不同调度间隔并行调度到服务总线队列。 我有几条消息链,我正在并行调度这些链,并且这些链中的每条消息也是并行调度的。 但间歇性地,我看到少数链发生 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.");
            }

对此的任何帮助或建议将不胜感激。谢谢。

【问题讨论】:

  • 您尝试在一个实例中向队列发送多少消息?
  • 大约。 1000 条消息

标签: azureservicebus servicebus azure-servicebus-queues


【解决方案1】:

TimeoutException 表示用户启动的操作花费的时间超过了操作超时。这也可能由于网络或其他基础设施延迟而发生。

检查ServicePointManager.DefaultConnectionLimit 属性的值,因为达到此限制也会导致 TimeoutException。

【讨论】:

    猜你喜欢
    • 2019-01-23
    • 1970-01-01
    • 2016-02-06
    • 1970-01-01
    • 1970-01-01
    • 2013-03-22
    • 1970-01-01
    • 1970-01-01
    • 2019-02-09
    相关资源
    最近更新 更多