You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description
Several messenger transports with retry/delay does not work. One transport creates a delay_queue__1000 with argument x-dead-letter-exchange: mytransport1
Another transport tries to use the same queue name but with a diferent x-dead-letter-exchange: mytransport2. It's a similar problem as in #31241 but for the exchange name, instead of the routing key.
Solution: Add transport name to the routing key and delay queue name: So instead of delay_queue__1000 it creates a unique queue per transport like delay_queue_mytransport1__100.
The text was updated successfully, but these errors were encountered:
This PR was squashed before being merged into the 4.3 branch (closes#32052).
Discussion
----------
[Messenger] fix AMQP delay queue to be per exchange
| Q | A
| ------------- | ---
| Branch? | 4.3
| Bug fix? | yes
| New feature? | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks? | no <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass? | yes <!-- please add some, will be required by reviewers -->
| Fixed tickets | #32050
| License | MIT
| Doc PR |
this makes the delay/retry work when having several exchanges or renaming your exchange.
also the delay setup did not declare the target exchange. so if you only do delayed messages for a connection, auto-setup forgot to actually create the target exchange.
Commits
-------
5bc3364 [Messenger] fix AMQP delay queue to be per exchange
Uh oh!
There was an error while loading. Please reload this page.
Symfony version(s) affected: 4.3
Description
Several messenger transports with retry/delay does not work. One transport creates a
delay_queue__1000
with argumentx-dead-letter-exchange: mytransport1
Another transport tries to use the same queue name but with a diferent
x-dead-letter-exchange: mytransport2
. It's a similar problem as in #31241 but for the exchange name, instead of the routing key.Solution: Add transport name to the routing key and delay queue name: So instead of
delay_queue__1000
it creates a unique queue per transport likedelay_queue_mytransport1__100
.The text was updated successfully, but these errors were encountered: