Я пытаюсь выполнять длительные запросы с использованием gunicorn и его асинхронных рабочих, но я не могу найти примеров, которые я могу получить для работы. Я использовал пример here но переделан, чтобы добавить поддельную задержку (сон в течение 5 секунд), прежде чем вернуться в ответ:gunicorn не обрабатывает одновременные запросы одновременно
def app(environ, start_response):
data = "Hello, World!\n"
start_response("200 OK", [
("Content-Type", "text/plain"),
("Content-Length", str(len(data)))
])
time.sleep(5)
return iter([data])
Тогда я бег gunicorn так:
gunicorn -w 4 myapp:app -k gevent
Когда я открываю два браузера вкладки и введите в http://127.0.0.1:8000/
в обоих из них и отправьте запросы почти в одно и то же время, запросы, как представляется, будут обработаны последовательно - один возвращается через 5 секунд, а другой возвращается после далее 5 секунд.
В. Я полагаю, что сон не дружелюбен? Но есть 4 работника, и даже если тип работника «синхронизируется», два работника должны одновременно обрабатывать два запроса?
Вопрос: Вы нашли решение? –
Прости, я этого не делал. – swoop81