-
Notifications
You must be signed in to change notification settings - Fork 27
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 support for sending exceptions to Sentry #27
Comments
Could we use the Worker._fail to send notifications to error monitors. |
Something like this: import honeybadger
from faktory import Worker
# Configure Honeybadger
honeybadger.configure(api_key = 'your_api_key')
class HoneybadgerWorker(Worker):
def _fail(self, jid: str, exception=None):
response = {"jid": jid}
if exception is not None:
response["errtype"] = type(exception).__name__
response["message"] = str(exception)
# notify Honeybadger of the exception
honeybadger.context(jid=jid)
honeybadger.notify(exception)
self.faktory.reply("FAIL", response)
ok = next(self.faktory.get_message())
# Now, when you create a new worker class, inherit from HoneybadgerWorker instead of Worker
class MyWorker(HoneybadgerWorker):
# Your worker code goes here
pass |
What you suggested is roughly how I would implement it; only I wouldn't duplicate the existing worker code. Something like this is safer: def _fail(self, jid: str, exception=None):
super()._fail(jid, exception)
if exception is not None:
honeybadger.context(jid=jid)
honeybadger.notify(exception) |
One other thing. I have no idea what
Feels a little sketchy. |
Yeah I was wondering about that, in terms of overriding the |
No description provided.
The text was updated successfully, but these errors were encountered: