2013 年の投稿で、Gunicorn チームがスレッド化されたバッファリング レイヤー ワーカー モデルの構築を計画していたという記事を読んだことがあります。それは gthread async ワーカーが行うことですか? gthread ワーカーは、2014 年にバージョン 19.0 でリリースされました。
ウェイトレスには、要求をバッファリングするマスター非同期スレッドがあり、要求 I/O が終了すると、各要求をその同期ワーカー スレッドの 1 つにキューに入れます。
Gunicorn gthread には多くのドキュメントがありませんが、似ているように聞こえます。ドキュメントから:
ワーカー gthread はスレッド化されたワーカーです。メインループで接続を受け付け、受け付けた接続は接続ジョブとしてスレッドプールに追加されます。
私は Python の非同期 I/O コードについてあまり詳しくないので質問するだけですが、gthread.py をざっと読むと、ワーカー スレッドを長時間の I/O 要求から保護するソケット バッファリング プロセスであることがわかります (そして応答 I/O もバッファします)。
https://github.com/benoitc/gunicorn/blob/master/gunicorn/workers/gthread.py