Anomalie #27317
fermé
M2M: la recherche d'un destinataire n'aboutit pas toujours, même après un temps d'attente très long
Ajouté par Paul DURAND il y a environ un an.
Mis à jour il y a 10 mois.
Description
On est sur un courrier et l'on souhaite envoyé un "pli numérique"
dans la barre de recherche d'un contact on tape les 3 premiers caractère du nom du contact.
La recherche est très lente il faut des fois 1 min pour que le contact s'affiche ou ne s'affiche pas du tout.
Il faut des fois changer d'onglet dans le navigateur afin que la recherche soit effective.
Parfois rien ne se passe.
Mon test a été effectué alors qu'il n'y a qu'un contact M2M.
Ce test a été fait sur https://demo.maarchcourrier.com et en local.
Pas à pas :
Avoir un contact paramétré M2M (cf : contact_m2m)
Sur un courrier faire un envoi de pli numérique
Chercher le contact M2M avec les 3 premières lettres du prénom ou nom (cf : M2M)
Latence dans le retour
Fichiers
- Statut changé de A qualifier à A traiter
- Assigné à mis à Cynthia APURA
- Sujet changé de M2M: recherche d'un destinataire à M2M: la recherche d'un destinataire n'aboutit pas toujours, même après un temps d'attente très long
- Echéance
18/12/2023 supprimé
- Sujet changé de M2M: la recherche d'un destinataire n'aboutit pas toujours, même après un temps d'attente très long à ANALYSE - M2M: la recherche d'un destinataire n'aboutit pas toujours, même après un temps d'attente très long
- Statut changé de R&D - A étudier à R&D - A planifier
- Version source mis à 2301
- Statut changé de R&D - A planifier à R&D - En cours
- Assigné à mis à Nicolas COUTURE
ANALYSE : Il n'y a aucun problème côté Back, les requêtes répondent très vite (~30ms pour la recherche d'un contact M2M)
Le soucis vient du front car la requête GET ne se lance que plusieurs dizaines de secondes après.
Le problème se situe dans la fonction initM2MList du fichier sent-numeric-package-page.component.ts
Il semblerait que le pipe this.recipientsCtrl.valueChanges.pipe() ne se déclenche pas qu'au changement de valeur mais renvoie en continue la valeur courante. Le debounceTime étant une fonction de temporisation, on se retrouve avec des temporisations qui sont envoyées en boucles étant donné que cette fonction de temporisation est appelée dès le début.
Après plusieurs tests, voici 2 solutions qui semblent fonctionner :
- Décommenter la fonction debounceTime(300)
- Déplacer la fonction distinctUntilChanged() en début de pipe, avant le debounceTime, afin de filtrer dès le début les changements de valeur
- Statut changé de R&D - En cours à R&D - En test
- Sujet changé de ANALYSE - M2M: la recherche d'un destinataire n'aboutit pas toujours, même après un temps d'attente très long à M2M: la recherche d'un destinataire n'aboutit pas toujours, même après un temps d'attente très long
- Statut changé de R&D - En test à R&D - Terminé
Formats disponibles : Atom
PDF