Sto cercando di utilizzare un'applicazione Flask dietro Amazon Load Balancer e i thread Flask continuano a scadere. Sembra che il bilanciamento del carico stia inviando un'intestazione Connection: keep-alive
e questo sta causando il ritorno del processo Flask (o richiede molto tempo). Con il gunicorn di fronte i processi vengono uccisi e ne iniziano di nuovi. Abbiamo anche provato a usare uWSGI e abbiamo semplicemente esposto l'app Flask direttamente (senza wrapper). Tutti i risultati nel processo Flask non rispondono.timeout dell'applicazione pallone con bilanciamento del carico Amazon
Non vedo nulla nei documenti di Flask che farebbero ignorare questa intestazione. Non riesco a capire cos'altro posso fare con Flask per risolvere il problema.
Le arricciature e le connessioni dirette alla macchina funzionano correttamente, solo quelle tramite la bilancia di bilanciamento causano il problema. Il bilanciamento del carico stesso non sembra fare nulla di sbagliato e lo usiamo con successo con diversi altri stack.
sei riuscito a capire perché però? – dnozay
Non posso esserne certo, ma sembra proprio un difetto nel modo in cui Flask sta gestendo una richiesta HTTP 1.1. –
Hai presentato un problema al riguardo su GitHub? –