Origine du bug trouvée et corrigée. Correctif 0.3.1 déployé en prod
C’était une erreur de noob, j’avais juste oublier de mettre un verrou sur la mise à jours du cache pour éviter que plusieurs requêtes ne le modifie en même temps, du coup chaque fois que 2 personnes demandait une page en même temps le cache devenait incohérent…
Je rappelle ou précise pour ceux qui ne le saurait pas que toutes les data de chaque page de g1-monit sont récupérables au format JSON pour en faire ce que vous voulez
Oh ! tu fais de préciser, j’avais louper ca. Cool !!
Je vais pouvoir mettre une jolie UI à tout ca, dans Cesium ^^
Par contre, as tu moyen de définir un endpoint pour que Cesium sache distinguer cette capacité de ton noeud Duniter ?
genre MONITOR_API (ou ce que tu veux )
On peut imaginer qu’en plus de la doc ça pourra valoir le coup qu’on normalise les EP de cette API, dans leur nommage notamment.
@elois d’ailleurs, j’ai bien compris, ça utilise un nœud ElasticSearch ? Pourquoi et comment ? Si t’as le temps de me montrer au Havre comment c’est configuré ça me branche bien !
@florck alors non c’est @kimamila qui utilise un nœud ElasticSearch pour cesium+, moi j’utilise directement les tables d’index du nœud duniter, je vais vous expliquer ça le vendredi matin
Mais on pourrais très bien envisager de recoder g1-monit pour se baser entièrement sur un nœud ElasticSearch ou sur autre chose !
Je ne peux répondre que de mon point de vue, mais il n’a pas forcément de sens pour les autres… alors à quoi bon ?
En deux mots : je code dans Cesium tout ce qui me parait pratique pour mon usage, d’abord personnel.
En fait, pour intégrer cela (willMembers) dans Cesium+, je vais plutot faire un indexation régulière dans le noeud ES. Ainsi, ton noeud ne sera pas embêter
C’est marrant, j’ai écrit le premier block passé ma certification !
Celui là est passé. Les suivants, avant que je restreigne l’utilisation CPU, bien j’ai crashé 3 fois mon serveur…
Non, mais par contre, le container LXC dans lequel il était avait une nice très faible et avait le droit d’utiliser les 8 core, donc je pense que les process envoyés par ce container sont passé en priorité et ont laminé les autres !
Là je tente la remontée en rajoutant coeur à coeur, avec un nice élevé.
Ca y ai j’ai réussi à faire fonctionner un plugin currency-monit chez moi, si quelques uns peuvent tester pour me dire si ça fonctionne aussi chez vous (@cgeek ?) :
J’ai supprimer les pages membersCount et pubkeyBalance, car elles utilisent un cache qui ne fonctionne pas en mode module. Je vais remplacer une grosse partie de ce cache par une bdd dédiée à monit mais ça me prendra un peu de temps !
EDIT : une fois le module installé il vous faut redémarrer votre noeud duniter puis vous rendre à l’adresse localhost:10500/currency-monit/.
Si vous lancez votre nœud duniter avec la webui alors le module currency-monit sera automatiquement lancé, en revanche si vous lancez duniter sans la web ui vous devez utiliser la commande currency-monit.
De plus, le module ne fonctionne pas en mode demon, vous pouvez donc faire :
Il ne te manque plus qu’à définir un nouveau menu à Duniter UI pour accéder à ton module, et ce sera parfait ! L’exemple est ici : https://dev.cgeek.fr/cgeek/rml9-web-module
Excellent boulot Eloïs, comme d’hab !
edit: par contre de mon côté, j’ai encore un peu de boulot avant que ça ne tourne vraiment dans l’application desktop, mais ça devrait aller d’ici demain !