首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Microsoft.Azure.ServiceBus - SubscriptionClient忽略RetryPolicy (RetryExponencial)

Microsoft.Azure.ServiceBus - SubscriptionClient忽略RetryPolicy (RetryExponencial)
EN

Stack Overflow用户
提问于 2019-05-29 00:34:13
回答 1查看 889关注 0票数 2

我正在尝试实现重试策略,但它一直被忽略。SubscriptionClient中是否有覆盖我在创建客户端时给出的属性的属性?

下面是我尝试过的代码:

代码语言:javascript
复制
_retryPolicy = new Microsoft.Azure.ServiceBus.RetryExponential(
                       TimeSpan.FromMinutes(2), // MinBackOff
                       TimeSpan.FromMinutes(5), // MaxBackOff
                       3); // Max Retries

_subscriptionClient = new SubscriptionClient(
               serviceBusPersisterConnection.ServiceBusConnectionStringBuilder,
               subscriptionClientName, retryPolicy: _retryPolicy);

因此,这应该使它只重试3次,间隔最小为2分钟。日志结果:

代码语言:javascript
复制
28 May 2019 16:34:49.928 MessageId: 1d327c9033de4fc69892766084264
28 May 2019 16:34:49.285 MessageId: 1d327c9033de4fc69892766084264
28 May 2019 16:34:48.718 MessageId: 1d327c9033de4fc69892766084264
28 May 2019 16:34:48.075 MessageId: 1d327c9033de4fc69892766084264
28 May 2019 16:34:47.499 MessageId: 1d327c9033de4fc69892766084264
28 May 2019 16:34:46.965 MessageId: 1d327c9033de4fc69892766084264
28 May 2019 16:34:46.511 MessageId: 1d327c9033de4fc69892766084264
28 May 2019 16:34:45.957 MessageId: 1d327c9033de4fc69892766084264

正如您所看到的,它重试了8次,而不是3次,并且重试之间的时间间隔(这是我的主要问题)是半秒。

为了确保这不是我的重试策略,我尝试了以下内容:

代码语言:javascript
复制
_subscriptionClient = new SubscriptionClient(
              serviceBusPersisterConnection.ServiceBusConnectionStringBuilder,
              subscriptionClientName, retryPolicy: RetryPolicy.NoRetry);

结果是完全一样的,所以我确定它被忽略了。任何帮助都将不胜感激。

保持良好的工作状态。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-29 14:52:35

RetryExponential旨在供服务总线客户端在出现暂时错误时使用,这些错误不会立即出现在您的代码中。即,内置在客户端中的内部重试机制,在异常引发之前代表您执行重试。如果没有异常,并且您的回调显式放弃了消息,这里甚至没有使用重试策略,消息只会经过正常的传递,直到MaxDeliveryCount次(在您的场景中是50次),之后就是DQed。

使用重试策略向Service bus客户端指定在放弃之前如何处理暂时性错误,而不是指定消息可以出队的次数。

你可以阅读更多关于here的内容。

希望能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56346614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档