feat: base 增加自定义的thread以记录日志或发送邮件

This commit is contained in:
caoqianming 2024-07-04 09:45:19 +08:00
parent 436719d9ff
commit ffc9f0ee4d
1 changed files with 23 additions and 0 deletions

23
apps/utils/thread.py Normal file
View File

@ -0,0 +1,23 @@
import threading
import logging
from apps.utils.tasks import send_mail_task
import traceback
logger = logging.getLogger('log')
class MyThread(threading.Thread):
def __init__(self, log_err=False, send_err=False):
super().__init__()
self.send_err = send_err
self.log_err = log_err
def run(self):
try:
if self._target:
self._target(*self._args, **self._kwargs)
except Exception as e:
if self.log_err:
logger.error(f"Thread error: {e}", exc_info=False)
if self.send_err:
send_mail_task.delay(message=traceback.format_exc())
raise