Привет, Хабр.
Есть приложение на twisted, которое обращается к некоему удаленному сервису через внешнюю питоновую библиотеку:
import externalLib
def render_POST(self, request):
#some code here
result = self.doQuery(...)
return json.dumps(result)
def doQuery(self, ...):
#some code
return externalLib.request()
Проблема в том, что если в функции doQuery (или даже на externalLib.request) что-то затормозит — например, удаленный сервис будет долго отвечать — то все остальные http-запросы к twisted-приложению также будут ждать результата обработки предыдущего запроса. (Если что, externalLib делает http-запрос через requests.)
Знатоки, подскажите, пожалуйста — как сделать приложение асинхронным и не заставлять новые запросы ждать завершения предыдущих?
Спасибо.