Возможно ли на пайтоне заставить функцию дожидаться выполнения нескольких асинхронных запросов?

Есть функция в приложении на пайтон, которая делает четыре get-запроса, затем присваивает их ответы в переменные и дальше обрабатывает эти переменные. Это происходит синхронно. Возможно ли запустить эти четыре запроса обрабатываться одновременно асинхронно, а затем поставить функцию на «паузу» до тех пор, пока все они не вернут результат? Т.е. фактически написать синхронно асинхронный код.


Приложение на фреймворке Tornado
  • Вопрос задан
  • 4340 просмотров
Пригласить эксперта
Ответы на вопрос 2
yurtaev
@yurtaev
Никаких threading или multiprocessing. Нужно tornado.gen.WaitAll

www.tornadoweb.org/en/stable/gen.html
www.tornadoweb.org/en/stable/gen.html#tornado.gen.Wait
Ответ написан
Комментировать
Торнадо не использовал, но в twisted это можно получить с помощью декоратора inlineCallbacks. Может сойдет как наводка.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы