Ho letto alcuni post del 2013 che il team di Gunicorn stava progettando di creare un modello di lavoratore del livello buffer di threading, simile a come funziona la Waitress. E 'quello che fa il gthread async worker? I dipendenti di gthread sono stati rilasciati con la versione 19.0 nel 2014.Il lavoratore asincrono di Gunicorn è analogo alla Cameriera?
La cameriera ha un thread asincrono master che bufferizza le richieste e accoda ogni richiesta a uno dei suoi thread di lavoro di sincronizzazione quando l'I/O della richiesta è terminato.
Gunicorn gthread non ha molta documentazione, ma sembra simile. Da docs:
Il gthread di lavoro è un worker filettato. Accetta le connessioni nel ciclo principale, le connessioni accettate vengono aggiunte al pool di thread come processo di connessione.
chiedo solo perché non sono super-informato circa python async I/O di codice, anche se una lettura superficiale del gthread.py sembra indicare che si tratta di un processo di presa di buffering che protegge thread di lavoro da lungo Richieste di I/O (e buffer anche l'I/O di risposta).
https://github.com/benoitc/gunicorn/blob/master/gunicorn/workers/gthread.py
Non ho mai usato la cameriera ma guardando il codice Gunicorn è un semplice wrapper attorno a 'concurrent.futures'. https://docs.python.org/3/library/concurrent.futures.html –