refactor(wf): route ticket notifications through celery

This commit is contained in:
caoqianming 2026-03-24 10:08:46 +08:00
parent 2bca239af3
commit 843ed2807a
2 changed files with 5 additions and 5 deletions

View File

@ -1,5 +1,4 @@
import importlib import importlib
from threading import Thread
from django.core.cache import cache from django.core.cache import cache
from apps.utils.sms import send_sms from apps.utils.sms import send_sms
from apps.wf.serializers import TicketSimpleSerializer from apps.wf.serializers import TicketSimpleSerializer
@ -10,7 +9,7 @@ from django.utils import timezone
from datetime import timedelta, datetime from datetime import timedelta, datetime
import random import random
from apps.utils.queryset import get_parent_queryset 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 from rest_framework.exceptions import ParseError
import time import time
@ -525,7 +524,7 @@ class WfService(object):
@classmethod @classmethod
def send_ticket_notice(cls, ticketflow:TicketFlow): def send_ticket_notice(cls, ticketflow:TicketFlow):
# 根据ticketflow发送通知 # 根据ticketflow发送通知
Thread(target=send_ticket_notice_t, args=(ticketflow.id,), daemon=True).start() send_ticket_notice_task.delay(ticketflow.ticket_id)
@classmethod @classmethod

View File

@ -39,13 +39,14 @@ def send_ticket_notice(ticket_id):
# ws推送 # ws推送
# 发送短信通知 # 发送短信通知
pt = User.objects.filter(id=ticket.participant).first() 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: if pt and pt.phone:
send_sms(pt.phone, 1002, params) send_sms(pt.phone, 1002, params)
elif ticket.participant_type == 2: elif ticket.participant_type == 2:
pts = User.objects.filter(id__in=ticket.participant) pts = User.objects.filter(id__in=ticket.participant)
for i in pts: for i in pts:
ticket_push.delay(ticket.id, i.id) ticket_push(ticket.id, i.id)
if i.phone: if i.phone:
send_sms(i.phone, 1002, params) send_sms(i.phone, 1002, params)