Report django_q2 errors to admins by email
This commit is contained in:
parent
300397b021
commit
8c48514c04
20
cmsmanage/django_q2_admin_email_reporter.py
Normal file
20
cmsmanage/django_q2_admin_email_reporter.py
Normal file
@ -0,0 +1,20 @@
|
||||
import sys
|
||||
|
||||
from django.views.debug import ExceptionReporter
|
||||
from django.core import mail
|
||||
|
||||
|
||||
class AdminEmailReporter:
|
||||
def __init__(self, **kwargs):
|
||||
pass
|
||||
|
||||
def report(self):
|
||||
reporter = ExceptionReporter(None, *sys.exc_info())
|
||||
message = f"Failed to run task\n{reporter.get_traceback_text()}"
|
||||
html_message = reporter.get_traceback_html()
|
||||
mail.mail_admins(
|
||||
"Django Q task failed",
|
||||
message,
|
||||
# fail_silently=True,
|
||||
html_message=html_message,
|
||||
)
|
@ -1,5 +1,3 @@
|
||||
import sys
|
||||
|
||||
from django_q.models import Schedule
|
||||
|
||||
|
||||
|
@ -124,6 +124,7 @@ Q_CLUSTER = {
|
||||
"retry": 60 * 6,
|
||||
"timeout": 60 * 5,
|
||||
"catch_up": False,
|
||||
"error_reporter": {"admin_email": {}},
|
||||
"ALT_CLUSTERS": {
|
||||
"internal": {
|
||||
"retry": 60 * 60,
|
||||
|
@ -35,6 +35,9 @@ server = [
|
||||
"setuptools~=68.2",
|
||||
]
|
||||
|
||||
[project.entry-points."djangoq.errorreporters"]
|
||||
admin_email = "cmsmanage.django_q2_admin_email_reporter:AdminEmailReporter"
|
||||
|
||||
[tool.black]
|
||||
line-length = 88
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user