Recentemente sto sviluppando un'applicazione Flask website/api su Windows Server e ho visto alcuni problemi strani in corso.Flask Hangs on request
Quando qualcuno invia una richiesta a un URL, occasionalmente (come 3-4 volte su 10) si bloccherà. Tutto quello che devo fare per far passare quella richiesta è andare alla riga di comando dove accendo il server Flask, e invio un segnale di interruzione. (Sono su Windows, quindi in pratica "Ctrl + C"). Ho cercato su Google per un po ', ma credo che nessuna delle soluzioni sia valida. Ecco quello che ho provato:
- aggiungere
threaded=true
inapp.run()
come suggerito here non ha funzionato. - In This link, l'autore ha affermato che alcuni browser possono attivare più richieste contemporaneamente e rendere confuso il server. Questo probabilmente non si applica qui poiché ho provato a fare richiesta dalla libreria di Python
requests
e ancora vedere il server si blocca. - Utilizzare Gevent o Tornado per servire l'app come indicato in here non ha funzionato neanche.
- Provato entrambi su python 3 e python 2.7, ha avuto lo stesso problema.
Ho praticamente lo stesso setup sulla mia macchina locale (win7 64 bit) e tutto funziona correttamente. (Il server che presenta problemi è Windows Server 2012)
Mi piacerebbe condividere un po 'di codice, ma dubito fortemente che sarebbe un problema di codice, poiché funziona perfettamente bene localmente.
Qualcuno ha mai provato la stessa cosa?
Il server incluso con Flask è solo per lo sviluppo. Usa gunicorn o uwsgi per eseguire il server in produzione. – nathancahill
@nathancahill Capisco che, sono ancora in fase di debug. E come ho detto nel thread, sono su Windows quindi non sono a conoscenza di gunicorn o nginx disponibili su Windows ... – xbb
Hai il problema con l'app di esempio qui: http://flask.pocoo.org / – nathancahill