Boccetta / Gunicorno con 4 lavoratori: fa un polling lungo un lavoratore?
Domanda
Ho scritto qualcosa del genere (con più codice, la parte importante è il sleep(5)
):
def get(self):
import time
time.sleep(5)
return jsonify({'result':'OK'})
.
Inizio il mio server come questo:
gunicorn serve:app -b 127.0.0.2:8000 -w 4
.
Mentre l'app è "dormendo" è che blocca un intero lavoratore?In che modo questa influenza la capacità di gunicorn
di rispondere?
Soluzione
gunicorn
predefinito l'utilizzo di lavoratori sincroni, che servirà solo una richiesta alla volta, quindi sì consumerà quel lavoratore per la durata del lungo sondaggio.gunicorn
supporta lavoratori asincroni , che permetterà a un lavoratore di servire altre richieste lungo il lato il latoLungo sondaggio - Vedi scegliendo un tipo di lavoratore :
gunicorn -k gevent -b 127.0.0.1:8000 serve:app
. Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow