@AlexTrovato@VonOx Pour info j’ai fais un test de rendre la fonction .emit de notre EventEmitter global asynchrone !
Je me suis inspiré du code de cette lib qui est assez connue (mais bon, trop complète pour nous, on a pas besoin de tout ça):
ça donne ça niveau code, c’est vraiment tout simple:
En gros, à chaque fois qu’on emit un event, l’event ne sera publié de façon synchrone « qu’après », on laisse la main à Node.js de faire ce qu’il veut entre l’appel de la fonction et l’emit synchrone.
Dans le cas d’appareils qui engendrerait des centaines d’emit, (qui eux même généreraient des centaines d’emit, car on vérifie plein de choses: les scènes, websockets vers le front, etc…), chaque event n’est pas consommé de façon synchrone, mais de façon asynchrone quand Node.js peut.
ça devrait résoudre les soucis avec les appareils comme le Linxee TIC
Vous en pensez quoi ?
Edit: @VonOx vu que c’est un changement de quelques lignes, tu pourrais remplacer le fichier dans ta prod et voir l’effet que ça a, voir si ça résout bien le soucis ?