Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony Messenger:重试延迟不使用Redis传输_Redis_Symfony4_Symfony Messenger - Fatal编程技术网

Symfony Messenger:重试延迟不使用Redis传输

Symfony Messenger:重试延迟不使用Redis传输,redis,symfony4,symfony-messenger,Redis,Symfony4,Symfony Messenger,我有一个Symfony 4应用程序,它使用组件(版本4.3.2)来发送消息。 对于异步消息处理,配置了一些Redis传输,它们工作正常。但后来我决定,当消息处理失败时,其中一个应该重试几次。我配置了a,传输实际上在失败时开始重试,但它似乎忽略了延迟配置(键delay,multiplier,max_delay),并且所有重试尝试总是在没有任何延迟的情况下进行,都在一秒钟内或类似的短时间内进行,这在这个用例中是不受欢迎的 我的Messenger配置(config/packages/Messenger

我有一个Symfony 4应用程序,它使用组件(版本4.3.2)来发送消息。 对于异步消息处理,配置了一些Redis传输,它们工作正常。但后来我决定,当消息处理失败时,其中一个应该重试几次。我配置了a,传输实际上在失败时开始重试,但它似乎忽略了延迟配置(键
delay
multiplier
max_delay
),并且所有重试尝试总是在没有任何延迟的情况下进行,都在一秒钟内或类似的短时间内进行,这在这个用例中是不受欢迎的

我的Messenger配置(
config/packages/Messenger.yaml
)如下所示

框架:
信使:
默认总线:messenger.bus.default
运输:
在不重试的情况下传输\u:
dsn:“%env(REDIS\u dsn)%/不重试”
重试策略:
最大重试次数:0
使用\u重试传输\u:
dsn:“%env(REDIS\u dsn)%/带\u重试”
重试策略:
最大重试次数:5次
延迟:10000#10秒
乘数:3
最大延迟:3600000
路由:
“App\Message\RetryWorthMessage”:使用\u重试传输\u
我试着用条令(作为重试传输的实现)取代Redis,瞧,延迟开始按预期工作。因此,我怀疑Redis传输设备不支持延迟重试。但我仔细阅读了文档,搜索了相关的Github问题,仍然没有找到明确的答案


所以我的问题是:Redis transport是否支持延迟重试?如果是这样,我该如何让它工作呢?

事实证明,Redis transport支持延迟重试,但是