feat: base 完整的task on_failure日志记录和邮件推送
This commit is contained in:
parent
3a0d229ec0
commit
513d37e9ac
|
@ -5,6 +5,7 @@ import logging
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from server.settings import get_sysconfig
|
from server.settings import get_sysconfig
|
||||||
import importlib
|
import importlib
|
||||||
|
import traceback
|
||||||
|
|
||||||
# 实例化myLogger
|
# 实例化myLogger
|
||||||
myLogger = logging.getLogger('log')
|
myLogger = logging.getLogger('log')
|
||||||
|
@ -27,7 +28,8 @@ class CustomTask(Task):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def on_failure(self, exc, task_id, args, kwargs, einfo):
|
def on_failure(self, exc, task_id, args, kwargs, einfo):
|
||||||
detail = '{0!r} failed: {1!r}'.format(task_id, exc)
|
detail ='Task {0} raised exception: {1!r}\n{2!r}'.format(
|
||||||
|
task_id, exc, einfo.traceback)
|
||||||
myLogger.error(detail)
|
myLogger.error(detail)
|
||||||
send_mail_task.delay(subject='task_error', message=detail)
|
send_mail_task.delay(subject='task_error', message=detail)
|
||||||
return super().on_failure(exc, task_id, args, kwargs, einfo)
|
return super().on_failure(exc, task_id, args, kwargs, einfo)
|
||||||
|
|
Loading…
Reference in New Issue