NServicebus 4.7.6 不遵守 app.config 上的 SecondLevelRetriesConfig 值
NServicebus 4.7.6 is not respecting the SecondLevelRetriesConfig Values on app.config
代码中没有自定义配置。
<SecondLevelRetriesConfig Enabled="true" TimeIncrease="00:05:00" NumberOfRetries="10" />
它基于默认的 SecondLevelRetriesConfig 值工作,不采用自定义配置。
更新:
很抱歉没有更新场景。
当 nservicebus worker 对 MasternodeConfig 进行配置时,会发生这种情况。它不考虑二级重试的工作节点配置。超时在 MasterNode(分发服务器)中处理。
这将导致第一个 SLR 在 5 分钟后启动...这是您的意图吗?
我在 the Particular docs whebsite
的代码示例上测试了这个
这对你有用吗?
SLR 的行为在 NServiceBus 的主要版本之间有所不同。下面是来自 http://docs.particular.net/nservicebus/scalability-and-ha/distributor/error-handling
的文档转储
如果不使用 NServiceBus v3、v4 或 v5,请检查 link
NServiceBus v5.x
SLR 策略 NumberOfRetries 设置应用于 both 分发器和工作器,TimeIncrease 设置应用于分发器。
当发生错误时,错误管理器会立即调用 SLR 策略。消息将不会转发到重试队列,这是以前的行为。
当达到重试限制时,消息会立即转发到错误队列,或者转发到 .retries 队列并安排重试。如果 SLR 策略输出是需要重试,则将消息转发到 .retries 队列。
NServiceBusv4.x
SLR 策略仅适用于 NumberOfRetries 和 TimeIncrease 设置的分发服务器。
分发服务器有一个 .retries 队列,在出现错误时将消息转发到该队列。然后分发器处理此消息,当达到重试限制时,消息将被转发到错误队列或由分发器安排重试。
NServiceBusv3.x
对于 TimeIncrease 和 NumberOfRetries 设置,SLR 策略仅 应用于工作线程.如果 SLR 配置在分发服务器上可用,则这些设置将被忽略。
当发生错误时,worker 根据 SLR TimeIncrease 设置安排重试,当相应的超时被触发时,消息被转发到分发器的传入队列,然后分发器将消息转发给可用的 worker。
代码中没有自定义配置。
<SecondLevelRetriesConfig Enabled="true" TimeIncrease="00:05:00" NumberOfRetries="10" />
它基于默认的 SecondLevelRetriesConfig 值工作,不采用自定义配置。
更新:
很抱歉没有更新场景。 当 nservicebus worker 对 MasternodeConfig 进行配置时,会发生这种情况。它不考虑二级重试的工作节点配置。超时在 MasterNode(分发服务器)中处理。
这将导致第一个 SLR 在 5 分钟后启动...这是您的意图吗?
我在 the Particular docs whebsite
的代码示例上测试了这个这对你有用吗?
SLR 的行为在 NServiceBus 的主要版本之间有所不同。下面是来自 http://docs.particular.net/nservicebus/scalability-and-ha/distributor/error-handling
的文档转储如果不使用 NServiceBus v3、v4 或 v5,请检查 link
NServiceBus v5.x
SLR 策略 NumberOfRetries 设置应用于 both 分发器和工作器,TimeIncrease 设置应用于分发器。
当发生错误时,错误管理器会立即调用 SLR 策略。消息将不会转发到重试队列,这是以前的行为。
当达到重试限制时,消息会立即转发到错误队列,或者转发到 .retries 队列并安排重试。如果 SLR 策略输出是需要重试,则将消息转发到 .retries 队列。
NServiceBusv4.x
SLR 策略仅适用于 NumberOfRetries 和 TimeIncrease 设置的分发服务器。
分发服务器有一个 .retries 队列,在出现错误时将消息转发到该队列。然后分发器处理此消息,当达到重试限制时,消息将被转发到错误队列或由分发器安排重试。
NServiceBusv3.x
对于 TimeIncrease 和 NumberOfRetries 设置,SLR 策略仅 应用于工作线程.如果 SLR 配置在分发服务器上可用,则这些设置将被忽略。
当发生错误时,worker 根据 SLR TimeIncrease 设置安排重试,当相应的超时被触发时,消息被转发到分发器的传入队列,然后分发器将消息转发给可用的 worker。