Streamer directement les fichiers de résultats qu'on propose de télécharger
Depuis #2141 (closed) on peut récupérer les fichiers de résultats produits par les logiciels.
Voici le bout de code qui se charge de l'envoyer à l'utilisateur :
with open(filepath) as f:
file_content = f.read()
return response.stream(StringIO.StringIO(file_content), attachment = True, filename = request.vars['filename'])
On stocke donc la totalité du fichier dans une variable file_content
. Or les fichiers de sortie peuvent être assez gros (plusieurs centaines de Mo, on doit pouvoir en trouver de quelques Go). Il vaudrait mieux directement les streamer, sans avoir à les stocker dans une variable, pour éviter d'utiliser de la mémoire (potentiellement beaucoup).