-
-
Notifications
You must be signed in to change notification settings - Fork 9.6k
[Messenger] DLX configuration issue #30218
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
You can reject a message by throwing an exception which implements RejectMessageExceptionInterface (see the loop in https://github.com/symfony/messenger/blob/master/Transport/AmqpExt/AmqpReceiver.php). In my opinion there should be a configuration option whether only exceptions implementing RejectMessageExceptionInterface should cause a rejection (as it is now) or whether other or all exceptions should cause a rejection. Why? For example, when there is an exception in the standard serializer (obviously not implementing RejectMessageExceptionInterface), the message gets requeued, effectively leading to an infinite loop. |
I've done the exception bit you mentiomed before but there are two problems with it:
|
First problem: The terminal command should not run a long time anyway. I have wrapped it in a systemd service which is restarted automatically when it dies. Second problem: Yes, that is true. |
I agree with that and I mentioned it somewhere here but cannot remember where so the command should take an argument to say max how many job it should process rather than running forever. Then it is developer's responsibility to bring it back up with a process controller such as supervisord etc. |
@bentcoder the |
This issue is to be solved by #29476 |
As it's merged, let's close this issue :) |
Symfony version(s) affected: 4.2.2
Hi,
Since there is no single entry in the documentation around AMQP Dead Letter Exchange, I am asking to find out if this is a bug or not. If it is an expected behaviour then please answer the question below. Much appreciated.
I am trying to automatically configure DLX exchange
image_crop_dlx_ex
and a queueimage_crop_dlx_qu
to go with it. However, they don't seem to be created in RabbitMQ unlike others (image_crop_ex
andimage_crop_qu
). See the configuration below please.All I want to do is:
image_crop_dlx_ex
andimage_crop_dlx_qu
in RabbitMQ.Configuration
Message Dispacher
Message
Message Handler
Terminal Command
The text was updated successfully, but these errors were encountered: