mylog, tasks, wxmp优化
This commit is contained in:
parent
ce4febd9c6
commit
029459ce5e
|
@ -1,18 +1,22 @@
|
||||||
import logging
|
import logging
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
from apps.utils.tasks import send_mail_task
|
||||||
|
import traceback
|
||||||
|
|
||||||
myLogger = logging.getLogger('log')
|
myLogger = logging.getLogger('log')
|
||||||
|
|
||||||
|
|
||||||
def auto_log(name='', raise_exception=False):
|
def auto_log(name='', raise_exception=True, send_mail=False):
|
||||||
def decorate(func):
|
def decorate(func):
|
||||||
@wraps(func)
|
@wraps(func)
|
||||||
def wrapper(*args, **kwargs):
|
def wrapper(*args, **kwargs):
|
||||||
try:
|
try:
|
||||||
real_func = func(*args, **kwargs)
|
real_func = func(*args, **kwargs)
|
||||||
return real_func
|
return real_func
|
||||||
except Exception as e:
|
except Exception:
|
||||||
myLogger.error(name, exc_info=True)
|
myLogger.error(name, exc_info=True)
|
||||||
|
if send_mail:
|
||||||
|
send_mail_task.delay(message=traceback.format_exc())
|
||||||
if raise_exception:
|
if raise_exception:
|
||||||
raise
|
raise
|
||||||
return wrapper
|
return wrapper
|
||||||
|
|
|
@ -11,7 +11,7 @@ myLogger = logging.getLogger('log')
|
||||||
@shared_task
|
@shared_task
|
||||||
def send_mail_task(**args):
|
def send_mail_task(**args):
|
||||||
from django.core.mail import send_mail
|
from django.core.mail import send_mail
|
||||||
args['subject'] = args.get('subject', 'ehs_500')
|
args['subject'] = args.get('subject', '{}:{}_{}_500'.format(settings.SYS_NAME, settings.SYS_VERSION, settings.PROJECT_NAME))
|
||||||
args['from_email'] = args.get('from_email', settings.EMAIL_HOST_USER)
|
args['from_email'] = args.get('from_email', settings.EMAIL_HOST_USER)
|
||||||
args['recipient_list'] = args.get('recipient_list', [settings.EMAIL_HOST_USER])
|
args['recipient_list'] = args.get('recipient_list', [settings.EMAIL_HOST_USER])
|
||||||
send_mail(**args)
|
send_mail(**args)
|
||||||
|
@ -25,5 +25,5 @@ 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 = '{0!r} failed: {1!r}'.format(task_id, exc)
|
||||||
myLogger.error(detail)
|
myLogger.error(detail)
|
||||||
send_mail_task.delay(subject='ehs_task_error', message=detail)
|
send_mail_task.delay(subject='{}:{}_{}_task_error'.format(settings.SYS_NAME, settings.SYS_VERSION, settings.PROJECT_NAME), message=detail)
|
||||||
return super().on_failure(exc, task_id, args, kwargs, einfo)
|
return super().on_failure(exc, task_id, args, kwargs, einfo)
|
||||||
|
|
|
@ -22,6 +22,7 @@ class WxmpClient:
|
||||||
|
|
||||||
def __init__(self, app_id=settings.WXMP_APPID,
|
def __init__(self, app_id=settings.WXMP_APPID,
|
||||||
app_secret=settings.WXMP_APPSECRET) -> None:
|
app_secret=settings.WXMP_APPSECRET) -> None:
|
||||||
|
self.app_id, self.app_secret = None, None
|
||||||
if settings.WXMP_ENABLED:
|
if settings.WXMP_ENABLED:
|
||||||
self.app_id = app_id
|
self.app_id = app_id
|
||||||
self.app_secret = app_secret
|
self.app_secret = app_secret
|
||||||
|
|
Loading…
Reference in New Issue