Estoy usando Python Flask + nginx con FCGI.Python Flask + nginx fcgi - ¿salida de respuesta grande?
En algunas solicitudes, tengo que generar respuestas grandes. Por lo general, esas respuestas se obtienen de un socket. Actualmente estoy respondiendo así:
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',
})
El problema es que en realidad no necesito los datos. También tengo una manera de determinar la longitud exacta de respuesta que se debe obtener del socket. Por lo tanto, necesito una buena forma de enviar los encabezados HTTP, y luego comenzar a producir directamente desde el socket, en lugar de recopilarlo en la memoria y luego suministrarlo a nginx (probablemente por algún tipo de transmisión).
No he podido encontrar la solución a este problema aparentemente común. ¿Cómo se lograría eso?
¡Gracias!