diff --git a/apps/utils/tasks.py b/apps/utils/tasks.py index 6655cab6..9e831e7f 100644 --- a/apps/utils/tasks.py +++ b/apps/utils/tasks.py @@ -5,26 +5,21 @@ import logging from django.conf import settings from server.settings import get_sysconfig import importlib -import hashlib from django.core.cache import cache # 实例化myLogger myLogger = logging.getLogger('log') -def generate_cache_key(subject): - # 使用邮件主题生成一个唯一的缓存键 - hash_subject = hashlib.md5(subject.encode()).hexdigest() - return f"error_email_{hash_subject}" - @shared_task def send_mail_task(**args): config = get_sysconfig() + subject = args.get('subject', '500') args['subject'] = '{}:{}_{}_{}'.format( - settings.SYS_NAME, settings.SYS_VERSION, config['base']['base_name_short'], args.get('subject', '500')) + settings.SYS_NAME, settings.SYS_VERSION, config['base']['base_name_short'], subject) args['from_email'] = args.get('from_email', settings.EMAIL_HOST_USER) args['recipient_list'] = args.get( 'recipient_list', [settings.EMAIL_HOST_USER]) - cache_key = generate_cache_key(args['subject']) + cache_key = f'error_mail_{subject}' email_tuple = cache.get(cache_key) if email_tuple is None: email_tuple = (0, True)