Description
Description
Hello,
I'm a new user of Messenger; Thank you to all contributors of this promising component; Yet, it gave me a hard time to solve some basic problematics.
Example
Let's say you have 2 different Symfony applications.
The application A (big, monolithic) is responsible of publishing the message to the queue using messenger. Until here, it's ok, everything is covered by the doc.
Then the queue (Amazon SQS/SNS) triggers a new Lambda execution, passing the message to the function (which is a SF Application B, responsible of generating a PDF); This behaviour is specific to Amazon, but it can be generalized of "messages can be pulled or pushed".
The problematic
A. On all examples on the doc, you assume that the consumer is the application that put the message in the queue itself;
But what if it's not the case ? What if it is another Symfony (smaller) project, responsible of generating the PDF only ? What if it's another language ? (JS ?).
B. The Messenger component sends the messages with some namespace
inside;
So if your message class lives in App\AwesomeBundle\Message\PdfMessage
in application A, and App\Message\PdfMessage
in application B, then application B won't be able to decode the Message;
C. What if the message is not pulled by the messenger component itself, but somhow is recieved (pull vs pushed) ?
I achieved this scenario, and here's what helped me:
Happyr/message-serializer
- http://developer.happyr.com/symfony-messenger-on-aws-lambda
- http://developer.happyr.com/sns-retry
- @Nyholm (thanks again ;D)
Do you think some of these problematic are generic enough to be covered by the component code or by the documentation ?
Thank you :)