-
Notifications
You must be signed in to change notification settings - Fork 25
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
Add dead letter queue support #195
Conversation
209d838
to
67dfa26
Compare
67dfa26
to
b1d678f
Compare
...src/{{cookiecutter.django_project_name}}/{{cookiecutter.django_default_app_name}}/metrics.py
Show resolved
Hide resolved
retries. The process of re-processing tasks is supposed to be manual, | ||
thus there are no complicated mechanisms to prevent infinite loops. |
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.
Shouldn't we add a dead dead letter queue for this and then the fixing processor would be configured to pick stuff up from dead_letter and run it but on failure put in dead_dead_letter, then if this happens you can fix the code in such a way that it's not sending anything to dead_dead, run through the whole dead and finally run like a special task which takes everything from dead_dead and moves to dead or runs on dead_dead and puts to dead? I doubt we'll always be perfect and there isn't anything that would warn us about the infinite loop, so putting in a process to handle it properly seems practical to me. It's a good moment to think about how to handle it.
Also this sounds like something that should be described somewhere in the documentation of our framework, not just in this docstring here.
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 just added a command to move tasks from one queue to another. No infinite loops involved.
...p/src/{{cookiecutter.django_project_name}}/{{cookiecutter.django_default_app_name}}/tasks.py
Outdated
Show resolved
Hide resolved
208f725
to
322fc5e
Compare
50d7126
to
e9b79fb
Compare
nuff said