Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork9.6k
[Messenger] Add SQS transport#32454
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
453a19d
to6d4de47
CompareThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Very nice PR and a very useful feature. Thanks Jérémy. I left some very minor comments.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
To me we should prioritize finalizing the messenger API for 4.4 and fixing all the open messenger problems. So adding another transport should come after that. |
I don't want that to block this PR... as we won't be 100% sure of API changes until feature freeze for 4.4. I think we should push this forward. |
Uh oh!
There was an error while loading.Please reload this page.
4949046
to8907adc
CompareI'm also for merging this PR rather sooner than later, so that when we evolve the code for 4.4 stabilization, it can be included as well in the changes. |
src/Symfony/Component/Messenger/Transport/Receiver/DisconnectedReceiverInterface.php OutdatedShow resolvedHide resolved
Uh oh!
There was an error while loading.Please reload this page.
src/Symfony/Component/Messenger/Transport/Receiver/DisconnectedReceiverInterface.php OutdatedShow resolvedHide resolved
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
src/Symfony/Component/Messenger/Tests/Transport/SqsExt/SqsExtIntegrationTest.php OutdatedShow resolvedHide resolved
Uh oh!
There was an error while loading.Please reload this page.
ac6e397
tobdafae5
Comparesqs has first class support for 'failures', dead letter queues. is it possible to support them somehow? |
@bendavies In this PR I included the minimal features required by Messenger. I think that behaviors like FIFO, Deadletter, could be added in dedicated PR |
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Im happy with this PR. Great work!
Could you rebase your PR to get rid of the Doctrine related changes?
src/Symfony/Component/Messenger/Bridge/AmazonSqs/Transport/AmazonSqsSender.php OutdatedShow resolvedHide resolved
Uh oh!
There was an error while loading.Please reload this page.
bf7f60c
to86ffde5
Comparesrc/Symfony/Component/Messenger/Bridge/AmazonSqs/Transport/Connection.php OutdatedShow resolvedHide resolved
Uh oh!
There was an error while loading.Please reload this page.
@jderusse Can you finish this one so that it can be merged? Ping me when it's done :) Thank you. |
Looks good to me. |
@jderusse Is it ready on your side? Perhaps a last rebase before merging? |
yes it's ok for me |
bendavies commentedFeb 10, 2020 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
I noticed that the namespaces are at odds with This namesapce could be |
Excellent point. However, I think |
bendavies commentedFeb 10, 2020 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Sure, but my point is that, that's not how mailer has done it. all impls are in one |
In my opinion,the difference is AWS provides a single mailing service but several messaging services. (SQS, SNS, Kinesis). |
Thank you@jderusse. |
This PR was merged into the 5.1-dev branch.Discussion----------[Messenger] Add SQS transport| Q | A| ------------- | ---| Branch? | master| Bug fix? | no| New feature? | yes| BC breaks? | no| Deprecations? | no| Tests pass? | yes| Fixed tickets | N/A| License | MIT| Doc PR | TODOThis PR add the AWS SQS transport in messenger.It also add a `DisconnectedReceiverInterface` that allows the worker to release not-proceeded message (which are not automatically released in SQS and have to wait a TTL). Tell me if you prefer to move it in a dedicated PR.accepted DNS:- `sqs://default/accountId/queueName`- `sqs://default/queueName`- `sqs://default/queueName?region=us-east-2`- `sqs://my_custome_endpoint:12345/queueName?sslmode=disabled`To reduce AWS costs, the implementation performs a long polling call and prefetch several messages.TO get ~real time worker, one could use `./bin/console messenger:consume --sleep 0.001`Commits-------c226479 [Messenger] Add SQS transport
tomcoonen commentedJun 4, 2020
How are we on the docs on this? Can I do anything to help? |
Nyholm commentedJun 4, 2020 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Yes please. There is an issuesymfony/symfony-docs#13093 for that. I'll be happy to help reviewing if you create content. Let's discuss further onsymfony/symfony-docs#13093 EDIT: I see that there is already an open PR:symfony/symfony-docs#13328 @tomcoonen could you help review that? |
Uh oh!
There was an error while loading.Please reload this page.
This PR add the AWS SQS transport in messenger.
It also add a
DisconnectedReceiverInterface
that allows the worker to release not-proceeded message (which are not automatically released in SQS and have to wait a TTL). Tell me if you prefer to move it in a dedicated PR.accepted DNS:
sqs://default/accountId/queueName
sqs://default/queueName
sqs://default/queueName?region=us-east-2
sqs://my_custome_endpoint:12345/queueName?sslmode=disabled
To reduce AWS costs, the implementation performs a long polling call and prefetch several messages.
TO get ~real time worker, one could use
./bin/console messenger:consume --sleep 0.001