Ich verwende Python Flask + nginx mit FCGI. Python Flask + nginx fcgi - Ausgabe große Antwort?
Auf einigen Anfragen habe ich ausgeben große Antworten. Normalerweise werden diese Antworten von einem Socket abgerufen. Zur Zeit mache ich die Antwort wie folgt aus:
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',
})
Das Problem ist, ich weiß nicht wirklich die Daten benötigen. Ich habe auch eine Möglichkeit, die genaue Antwortlänge zu ermitteln, die aus dem Socket abgerufen werden soll. Also muß ich einen guten Weg, um die HTTP-Header senden, dann starten Sie direkt aus der Steckdose outputing, anstatt sie im Speicher zu sammeln und dann (wahrscheinlich durch eine Art von einem Strom) nginx zu liefern.
Ich konnte nicht die Lösung für dieses scheinbar weit verbreitetes Problem zu finden. Wie würde das erreicht werden?
Vielen Dank!