Добрый день!
Хочу наладить взаимодействие Flask с двумя другими серверами по следующей схеме:
1) Flask принимает запрос от первого сервера и в течение некоторого времени (пусть 5 минут) ожидает запрос от второго.
2) Если за этот промежуток времени второй запрос не пришел, то Flask отправляет на первый сервер ответ об отсутствии запроса со второго сервера. Если пришел, то на оба сервера отправляется ответ об успешном результате.
Пока первое что придумал - это глобальный словарь, два маршрута для запросов от серверов и циклическая проверка условия получения запроса на 2 сервере.
DATA = {
'getServ1': False,
'getServ2': False,
}
@app.route("/serv1")
def serv1():
while not DATA['getServ2']:
pass
#do something
@app.route("/serv2")
def serv2():
DATA['getServ2'] = True
#do something
Но выглядит это очень нерационально, поскольку условие в цикле проверяется слишком часто, и не совсем понятно как прикрепить к этому отсчет времени.
Подскажите, пожалуйста, как можно улучшить эту схему, может быть использовать что-то кроме Flask?