Compare commits

...

2 Commits

Author SHA1 Message Date
Ilya Mukhortov 607e6508ad pass 2025-03-05 08:58:33 +10:00
Ilya Mukhortov 5af340bd2b pass 2025-03-04 22:11:50 +10:00
3 changed files with 24 additions and 17 deletions

View File

@ -68,9 +68,7 @@ def get_record(call_request: CallRequest, logging=True):
if result['call_result_code'] != call_status.STATUS_1: if result['call_result_code'] != call_status.STATUS_1:
call_request.call_text_log = result['text_log'] call_request.call_text_log = result['text_log']
call_request.call_result = result['call_result'] call_request.call_result = result['call_result']
call_request.request_status = call_request.RequestStatus.COMPLETED
if result['call_result_code'] not in [call_status.STATUS_14]:
call_request.request_status = call_request.RequestStatus.COMPLETED
if result['confirmed']: if result['confirmed']:
call_request.status = call_request.Status.APPROVED call_request.status = call_request.Status.APPROVED

View File

@ -211,12 +211,12 @@ CELERY_IGNORE_RESULT = True
CELERYBEAT_SCHEDULE = { CELERYBEAT_SCHEDULE = {
'update_call_requests_task': { 'update_call_requests_task': {
'task': 'appa.tasks.update_call_requests_task', 'task': 'appa.tasks.update_call_requests_task',
'schedule': crontab(hour='23', minute='0'), 'schedule': crontab(hour='8', minute='0'),
'options': {'queue': CELERY_DEFAULT_QUEUE} 'options': {'queue': CELERY_DEFAULT_QUEUE}
}, },
'check_call_requests_task': { 'check_call_requests_task': {
'task': 'appa.tasks.check_call_requests_task', 'task': 'appa.tasks.check_call_requests_task',
'schedule': crontab(minute='*/1'), 'schedule': crontab(minute='*/5'),
'options': {'queue': CELERY_DEFAULT_QUEUE} 'options': {'queue': CELERY_DEFAULT_QUEUE}
} }
} }

View File

@ -10,19 +10,28 @@ from appa.medicine_api import api as medicine_api
@app.task(bind=True, acks_late=True) @app.task(bind=True, acks_late=True)
def send_call_request_task(self, ids=None): def send_call_request_task(self, ids=None):
call_requests = CallRequest.objects.filter(is_active=True) call_requests = CallRequest.objects.filter(
if ids and len(ids) > 0: id__in=ids,
call_requests = call_requests.filter(id__in=ids) is_active=True
else: ).exclude(
tomorrow = datetime.date.today() + datetime.timedelta(days=1) status__in=[
CallRequest.Status.APPROVED,
CallRequest.Status.CANCELED
]
)
call_requests = CallRequest.objects.filter( for call_request in call_requests:
date=tomorrow, call_api.add_call_request(call_request)
status__in=[
CallRequest.Status.PENDING,
CallRequest.Status.WITHOUT_ANSWER @app.task(bind=True, acks_late=True)
] def send_daily_call_request_task(self, ids=None):
) tomorrow = datetime.date.today() + datetime.timedelta(days=1)
call_requests = CallRequest.objects.filter(
date=tomorrow,
status=CallRequest.Status.PENDING,
is_active=True
)
for call_request in call_requests: for call_request in call_requests:
call_api.add_call_request(call_request) call_api.add_call_request(call_request)