Enregistrement des fichiers
1er août 2022
Contributeurs
Simon B., Sébastien F.
Statut
Accepté
Contexte
Lors de l'écriture des fichiers (historisation + dernière version), nous avons le choix entre écrire séquentiellement les deux fichiers OU paralléliser les écritures.
Nous avons réalisé de brefs tests de performances sur des fichiers d'une taille avoisinant les 50 MiB avec les résultats suivants :
Stratégie d'écriture | Temps d'exécution en secondes | Contexte |
---|---|---|
Séquentielle | 11,892s | Mac SEFR, MinIO qualification |
Parallélisation | 8,768s | Mac SEFR, MinIO qualification |
Décision
Écriture séquentielle car la différence n'est pas assez significative.
Conséquences
Positif :
- Meilleure gestion d'erreur possible
- Pas de tentative d'écriture du dernier fichier si l'historisation a échoué
- Meilleure lisibilité du code (pas de
Promise.all
)
Négatif :
- Temps d'exécution plus important
Autres pistes explorées
return Promise.all([
this.sauvegarderFichierAHistoriser(contenuASauvegarder, configurationFlux),
this.sauvegarderCloneDuDernierFichier(contenuASauvegarder, configurationFlux),
])