Sto usando Python Flask + nginx con FCGI.Python Flask + nginx fcgi - genera una risposta elevata?
Su alcune richieste, devo produrre risposte grandi. Di solito quelle risposte vengono recuperate da un socket. Attualmente sto facendo la risposta in questo modo:
response = []
while True:
recv = s.recv(1024)
if not recv: break
response.append(recv)
s.close()
response = ''.join(response)
return flask.make_response(response, 200, {
'Content-type': 'binary/octet-stream',
'Content-length': len(response),
'Content-transfer-encoding': 'binary',
})
Il problema è che in realtà non ho bisogno dei dati. Ho anche un modo per determinare la lunghezza esatta della risposta da prelevare dal socket. Quindi ho bisogno di un buon modo per inviare le intestazioni HTTP, quindi avviare l'output direttamente dal socket, invece di raccoglierlo in memoria e quindi fornire a nginx (probabilmente da una sorta di stream).
Non sono riuscito a trovare la soluzione a questo problema apparentemente comune. Come sarebbe stato realizzato?
Grazie!