Полный ответ только после того, как первая функция установит глобальный флаг - PullRequest
1 голос
/ 20 июня 2019

У меня две функции.Сначала выполните проверку URL-адреса службы сервера.Функция выполняется как задача Sanic-Scheduler и запускается каждые 2 секунды.

@task(timedelta(seconds=2)) 
def check_data_status():
    ...
    isProcessed = True  

https://github.com/asmodius/sanic-scheduler

Второй - это обработчик запроса:

def new_answer(request):
    ...
    # we should wait and complete response only after isProcessed = True
    response answer

The new_answer должен завершить ответ только после isProcessed = True от первой функции.

Как я могу это сделать.Я использую Sanic.

1 Ответ

0 голосов
/ 26 июня 2019

Sanic использует asyncio-совместимые циклы событий, поэтому вы можете использовать встроенные примитивы синхронизации asyncio для этого: https://docs.python.org/3/library/asyncio-sync.html. Событие кажется подходящим в вашем случае.

...