From 620351c8bfc81dae0e0ac37f20aaca13a5975861 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Mon, 28 Aug 2023 09:18:09 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20send=5Fmail=5Ftask=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/utils/exceptions.py | 3 ++- apps/utils/tasks.py | 21 +++++++++------------ 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/apps/utils/exceptions.py b/apps/utils/exceptions.py index 00960f64..b5f9f498 100755 --- a/apps/utils/exceptions.py +++ b/apps/utils/exceptions.py @@ -52,5 +52,6 @@ def custom_exception_hander(exc, context): args = (request_id, traceback.format_exc()) err_detail = f"{args[0]}-{args[1]}" myLogger.error(err_detail) - send_mail_task.delay(message=err_detail) # 500邮件通知到开发人员 + if settings.DEBUG is False: + send_mail_task.delay(message=err_detail) # 500邮件通知到开发人员 return Response(data={'err_code': 'server_error', 'err_detail': err_detail if settings.DEBUG else None, 'err_msg': '服务器错误'}, status=500) diff --git a/apps/utils/tasks.py b/apps/utils/tasks.py index 6460e9d3..fdd4c1f9 100644 --- a/apps/utils/tasks.py +++ b/apps/utils/tasks.py @@ -11,13 +11,11 @@ myLogger = logging.getLogger('log') @shared_task def send_mail_task(**args): - config = get_sysconfig() - if settings.DEBUG is False: - from django.core.mail import send_mail - args['subject'] = '{}:{}_{}_{}'.format(settings.SYS_NAME, settings.SYS_VERSION, config['base']['base_name_short'], args.get('subject', '500')) - args['from_email'] = args.get('from_email', settings.EMAIL_HOST_USER) - args['recipient_list'] = args.get('recipient_list', [settings.EMAIL_HOST_USER]) - send_mail(**args) + from django.core.mail import send_mail + args['subject'] = '{}:{}_{}_{}'.format(settings.SYS_NAME, settings.SYS_VERSION, config['base']['base_name_short'], args.get('subject', '500')) + args['from_email'] = args.get('from_email', settings.EMAIL_HOST_USER) + args['recipient_list'] = args.get('recipient_list', [settings.EMAIL_HOST_USER]) + send_mail(**args) class CustomTask(Task): @@ -26,8 +24,7 @@ class CustomTask(Task): """ def on_failure(self, exc, task_id, args, kwargs, einfo): - if settings.DEBUG is False: - detail = '{0!r} failed: {1!r}'.format(task_id, exc) - myLogger.error(detail) - send_mail_task.delay(subject='task_error', message=detail) - return super().on_failure(exc, task_id, args, kwargs, einfo) + detail = '{0!r} failed: {1!r}'.format(task_id, exc) + myLogger.error(detail) + send_mail_task.delay(subject='task_error', message=detail) + return super().on_failure(exc, task_id, args, kwargs, einfo)