Skip to content

Ammélioration des performance

Cas des requêtes dites asynchrones

IL n'est pas jugé bon de les rendre les services complètement asynchrones. Pour l'interface et les tests on a besoin de savoir que le traitement est terminé pour afficher le resultat ou continuer le traitement.

  • On doit cependant détacher le thread courant : utilisation d'une complétable
  • Rajouter un header qui s'il est présent renvoyer une réponse 200 juste après le chargement des fichiers.

différents cas de services.

Service dont la réponse commence immédiatement (Flux ou streamBody)

  • récupération de la listes des application (renvoit les resultat / erreur/ avancement ) au fil de l'eau pour permettre un traitement en continue.
  • dépôt de fichier pour l'envoie des erreurs au fil de l'eau, puis de la synthèse
  • chargement de fichier (zip, csv, json). Le téléchargement débute dès le début et se remplit au fil de l'eau.

requêtes attendant la fin du traitement pour envoyer la réponse

  • ex json des donnees pour affichage

  • mise à jour des droits

  • travailler la requête pour limiter les appels à la base

  • supprimer le cache disque

requêtes sans réponse

L'extraction du zip n'a pas besoin de réponse puisque les erreurs et le zip sont envoyés par mail

  • trouver quoi faire de la réponse (retour 200 ou flux?)

## amélioration du traitement de la réponse

  • travailler la requête pour limiter les appels à la base
  • optimisation des traitements
  • avoir des résultats déjà prêts dans la réponse
Edited by Philippe Tcherniatinsky