-
Notifications
You must be signed in to change notification settings - Fork 451
don't catch database exceptions and ignore them #431
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
celery#359 When the connection to the database disappears, should either implement reconnection logic or fail hard. This change makes the schedule poller (and celerybeat) fail hard so that other orchestration can deal with this, for example by relaunching celerybeat.
thanks for the patch did you run the tests locally? |
Could not find any documentation on how to run the suite. I hear circle is free for open sauce proj |
I'm working on adding circle/travis settings. in the mean time you could just run tox inside your local repo root. |
Test suite passes for
and for
for
assuming this is an issue with my environment / running of the suite, not with the code itself. |
tox environment failure is expected as you are running py27 under virtualenv |
An alternative to this proposal could also be the variant done here: f2ad084 |
interesting!! 3 fix for a problem but we failed to notice them!!! thanks @chrono |
can we get one of them merged? |
yess need time to review them and decide which approach should be implemented. |
except DATABASE_ERRORS as exc: | ||
error('Database gave error: %r', exc, exc_info=1) | ||
return False | ||
last, ts = self._last_timestamp, self.Changes.last_change() | ||
try: |
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.
Why does this have to be in a try/finally block?
#359
When the connection to the database disappears, should either implement
reconnection logic or fail hard. This change makes the schedule poller
(and celerybeat) fail hard so that other orchestration can deal with
this, for example by relaunching celerybeat.