-
Notifications
You must be signed in to change notification settings - Fork 13
Add RabbitMQ broker and examples. #14
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
… examples/rabbitmq.
…on celery can't change protocol versions.
marselester
requested changes
Jun 27, 2025
Owner
marselester
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.
Thank you for adding a RabbitMQ broker! I didn't know that its contract will be so different from Redis when I was designing this package. Probably you'll be better off forking and overhauling things as needed since I don't plan making any major changes to the existing API.
…. Will need to be deleted after merging.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added RabbitMQ broker in rabbitmq/broker.go, and unit tests under rabbitmq/rabbitmq/broker_test.go.
Moved redis examples under examples/redis.
Added rabbitmq examples under examples/rabbitmq.
Also, there was a bug in examples/redis/producer.py. It was attempting to switch the protocol version from 2 to 1 on an existing Celery app, but the protocol version wasn't actually switching (subsequent tasks were still sent with protocol version 2). To fix this, I created producer_v1.py which creates an app with protocol version 1.
This needs to be merged, and a new release created, in a timely fashion, if possible. I would prefer not to maintain my own fork of this project.
Thanks for writing this implementation! With the RabbitMQ broker, it will be very useful.
In the future, we might want to think about changing the interface to the Send() and Receive() functions in the broker, as Redis and RabbitMQ package things differently. Instead of passing and returning an array of bytes, maybe we should pass a new Task structure.