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
|
from django_q.models import Schedule
|
||||||
|
|
||||||
|
|
||||||
|
@ -124,6 +124,7 @@ Q_CLUSTER = {
|
|||||||
"retry": 60 * 6,
|
"retry": 60 * 6,
|
||||||
"timeout": 60 * 5,
|
"timeout": 60 * 5,
|
||||||
"catch_up": False,
|
"catch_up": False,
|
||||||
|
"error_reporter": {"admin_email": {}},
|
||||||
"ALT_CLUSTERS": {
|
"ALT_CLUSTERS": {
|
||||||
"internal": {
|
"internal": {
|
||||||
"retry": 60 * 60,
|
"retry": 60 * 60,
|
||||||
|
@ -35,6 +35,9 @@ server = [
|
|||||||
"setuptools~=68.2",
|
"setuptools~=68.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[project.entry-points."djangoq.errorreporters"]
|
||||||
|
admin_email = "cmsmanage.django_q2_admin_email_reporter:AdminEmailReporter"
|
||||||
|
|
||||||
[tool.black]
|
[tool.black]
|
||||||
line-length = 88
|
line-length = 88
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user