refactor(wf): route ticket notifications through celery
This commit is contained in:
parent
2bca239af3
commit
843ed2807a
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue