diff --git a/apps/wf/services.py b/apps/wf/services.py index 4efdada2..e26b9ddf 100755 --- a/apps/wf/services.py +++ b/apps/wf/services.py @@ -1,5 +1,4 @@ import importlib -from threading import Thread from django.core.cache import cache from apps.utils.sms import send_sms from apps.wf.serializers import TicketSimpleSerializer @@ -10,7 +9,7 @@ from django.utils import timezone from datetime import timedelta, datetime import random from apps.utils.queryset import get_parent_queryset -from apps.wf.tasks import run_task +from apps.wf.tasks import run_task, send_ticket_notice as send_ticket_notice_task from rest_framework.exceptions import ParseError import time @@ -525,7 +524,7 @@ class WfService(object): @classmethod def send_ticket_notice(cls, ticketflow:TicketFlow): # 根据ticketflow发送通知 - Thread(target=send_ticket_notice_t, args=(ticketflow.id,), daemon=True).start() + send_ticket_notice_task.delay(ticketflow.ticket_id) @classmethod diff --git a/apps/wf/tasks.py b/apps/wf/tasks.py index 97df25e9..14b3ea2d 100644 --- a/apps/wf/tasks.py +++ b/apps/wf/tasks.py @@ -39,13 +39,14 @@ def send_ticket_notice(ticket_id): # ws推送 # 发送短信通知 pt = User.objects.filter(id=ticket.participant).first() - ticket_push.delay(ticket.id, pt.id) + if pt: + ticket_push(ticket.id, pt.id) if pt and pt.phone: send_sms(pt.phone, 1002, params) elif ticket.participant_type == 2: pts = User.objects.filter(id__in=ticket.participant) for i in pts: - ticket_push.delay(ticket.id, i.id) + ticket_push(ticket.id, i.id) if i.phone: send_sms(i.phone, 1002, params)