-
-
Notifications
You must be signed in to change notification settings - Fork 973
Support for SQS fanout via SNS #2339
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
Conversation
This commit augments the existing SNS support, with fanout support using AWS SNS. Some existing SNS channel methods have been refactored to allow for easier re-use between SNS & SQS services. As the Channel class was getting a bit sprawling, SNS support was added through composition in a subclass, and is only initialised upon use of a fanout function. To avoid breaking changes, 'supports_fanout' has been left as False by default, but can be enabled via transport_options.
for more information, see https://pre-commit.ci
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
…e their queues, as they subscribed to the SNS topic and received a message without consuming it. SNS topic subscription will only occur when the consumer starts consuming. fixed Flake8 issues.
…e their queues, as they subscribed to the SNS topic and received a message without consuming it. SNS topic subscription will only occur when the consumer starts consuming. fixed Flake8 issues. Generally refactored SNS fanout classes to reduce scope and improve testability.
for more information, see https://pre-commit.ci
|
Updated PR with full tests now |
|
I'm wondering if a formatter like Black ran on this as it seems like there are a lot of changes of single-quotes to double-quotes in the PR. I do think using Black (or something like it) could be a good idea, but to keep this PR focused on the specific fanout problem, can we undo those formatting changes please? |
|
Hey @akosel, Apologies, I have my IDE configured to format with ruff on-save. I've reverted the changes. Best, |
|
Hey @auvipy, Just wanted to check in and see if you had any feedback on this PR, or if there were any outstanding issues I need to address for it to be merged? Much appreciated, |
auvipy
left a comment
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.
can you please create a new branch on top of main branch on your forks? and then come with a new clean PR? or only keep the relevant changes in this pr?
|
Hi @auvipy, Sure thing, I'll re-raise a new PR |
This draft PR enhances the existing SNS support by adding fanout support using AWS SNS. Some existing SNS channel methods have been refactored to allow for easier re-use between SNS & SQS services.
As the Channel class was becoming somewhat sprawling, SNS support was added through composition in a subclass and is only initialised upon use of a fanout function.
To avoid breaking changes, 'supports_fanout' has been left as False by default, but can be enabled via transport_options.
TODO: