Я читал некоторые сообщения с 2013 года, что команда Gunicorn планировала построить модель рабочего слоя с буферизацией, похожую на то, как работает Waitress. Это то, что делает рабочий-асинхронный gthread? Работники gthread были выпущены с версией 19.0 в 2014 году.Насколько похож на Официантку, похож на убийцу Гуникорна?
У официанты есть основной асинхронный поток, который буферизует запросы и завершает каждый запрос одному из своих потоков рабочего процесса синхронизации, когда запрос ввода-вывода завершен.
Gunicorn gthread не имеет большой документации, но это похоже. От docs:
Работник gthread является работником с резьбой. Он принимает соединения в основном цикле, принятые соединения добавляются в пул потоков в качестве задания соединения.
Я только спрашиваю, потому что я не очень хорошо осведомлен о питоных асинхронном I/O коде, хотя беглое чтение gthread.py, кажется, указует, что это процесс сокета буферизации, который защищает рабочие потоки от долго- Запросы ввода-вывода (и также буферизует ввод-вывод ответов).
https://github.com/benoitc/gunicorn/blob/master/gunicorn/workers/gthread.py
Я никогда не пользовался официанткой, но, глядя на код Gunicorn, это простая обертка вокруг 'concurrent.futures'. https://docs.python.org/3/library/concurrent.futures.html –