-
Notifications
You must be signed in to change notification settings - Fork 18
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
feat: add batching for event bus consumer #388
Conversation
Thanks for the pull request, @Ian2012! Please note that it may take us up to several weeks or months to complete a review and merge your PR. Feel free to add as much of the following information to the ticket as you can:
All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here. Please let us know once your PR is ready for our review and all tests are green. |
e3e7df9
to
f138ce5
Compare
cb0476d
to
14df49d
Compare
2c13d4a
to
b2553c1
Compare
5dc5338
to
27f0529
Compare
ed0cde7
to
6e2acb1
Compare
3a21781
to
9d5e704
Compare
@Ian2012 do you want to rebase this one and we can review? |
473f3d3
to
2d4c172
Compare
@bmtcril Updated the implementation to use the |
2d4c172
to
87d7252
Compare
3a8032c
to
a8566e1
Compare
17afff7
to
ca17c49
Compare
fix: add time_to_send method chore: quality fixes
ca17c49
to
cfee7da
Compare
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.
👍 I haven't set up the event bus, but the batching works with a non-bus setup.
Just had a couple comments inline, but they don't have to block merging here.
- I tested this on my tutor dev stack with batching enabled. Events moved through the pipeline as expected.
- I read through the code
-
I checked for accessibility issuesN/A - Includes documentation
-
User-facing strings are extracted for translationN/A
event_routing_backends/management/commands/recover_failed_events.py
Outdated
Show resolved
Hide resolved
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.
LGTM thanks for addressing all of that!
@Ian2012 🎉 Your pull request was merged! Please take a moment to answer a two question survey so we can improve your experience in the future. |
Description
This PR adds batching for the event bus consumer based on a Redis list and creates a queue to store failed bulk events.
Author concerns
The dead queue will grow indefinitely when the xAPI backend is down for too long. We should add a setting to control the maximum size of the dead queue.