Installation WotWizard pour prédir l’expiration des statuts de membre


#22

Wotwizard c’est arreté à 49267 et j’ai cette fenêtre


#23

Par contre il faut que le nœud Duniter tourne en fond ?


#24

Oui, bien sûr.

Oui, c’est la fenêtre WotWizard, vide parce qu’à la date indiquée, il n’y a plus rien dans la piscine.

Pas de message d’erreur ? Il y a suffisamment de place sur ton disque dur ? Duniter0/DBase.data fait environ 80Mo aujourd’hui.

Essaie de cliquer sur “Mise à jour”…


#25

Est-ce que ton duniter.db est à jour ?


#26

Mon noeud Duniter tourne en fond
le fichier pèse 56.3Mo

ça ne fait rien


#27

Quelle version de Duniter utilises-tu ?


#28

J’utilise la 1.7.10
mais là j’essaie de supprimer le dossier duniter_default et de relancer une synchro


#29

Non, je sais ce qui se passe. Tu ne vas pas aimer. cgeek a changé le format de la bdd de Duniter entre les versions 1.6 et 1.7, mais n’a pas eu le temps de décrire le nouveau format ni la façon de s’y connecter. Du coup, je n’ai pas pu faire de mise à niveau. WotWizard ne peut fonctionner qu’avec une version 1.6. C’est pour cela que cgeek a sorti la version 1.6.29, qui a les mêmes améliorations que les versions 1.7 (sauf pour la vitesse de synchronisation) mais fonctionne toujours avec la même base de données.

Voilà, voilà. Désolé, je n’y ai pas pensé plus tôt. Maintenant, tu as le choix : revenir à la version 1.6.29, ou te passer de WotWizard… (Les temps sont difficiles)


#30

Est-ce que tu es bien passé par le lecteur H: (que tu trouves dans Bureau/Poste de travail, tout en haut de l’arbre des répertoires) ? Oui, Windows peut être déroutant pour un linuxien.


Expirations du statut de membre
#31

Ok
je vais peut-être installer la 1.6.29 quand j’aurais plus de temps :wink:
merci pour le support technique.


#32

Merci, en tout cas, d’avoir essayé.

Du coup, je reprends les prévisions :

Il y a 29 départs prévisibles dans les 7 prochains jours !

J’ai modifié les directives d’installation de WW sur Github en précisant que la version 1.6.29 de Duniter était nécessaire.


#33

C’est une base de données au format LevelDB. Pour la wotmap, @tuxmain m’a fait un script en python grâce à la bibliothèque Plyvel (si jamais tu veux voir à quoi ça ressemble, voici le lien vers le dépôt GIT).


#34

D’après ce que j’ai compris, on peut encore utiliser les bdd à l’ancien format, il faut activer une option dans Duniter.
Sinon on pourrait faire un programme python pour convertir les bdd LevelDB dans l’ancien format sqlite, mais question optimisation et propreté, c’est pas top.


#35

Et puis, ce serait beaucoup trop lent pour une utilisation par WotWizard. Mais merci pour les infos. Par contre je ne vois pas le rapport avec ton lien, et je ne vois pas de quelle option de Duniter il s’agit.


#36

J’ai à peu près vu de quoi il s’agit. Pour utiliser la base LevelDB, il faudrait avoir la liste des clés, et surtout savoir à quoi elles correspondent. J’ai aussi le problème suivant :

Concurrency

A database may only be opened by one process at a time.

Or WotWizard doit pouvoir utiliser la base en même temps que Duniter, et il semble que ce ne soit pas possible.


#37

Oui tout à fait, j’ai été obligé d’adapter le script Python de @tuxmain pour la wotmap à cause de ça. Dans le script, j’ai rajouté deux lignes de code pour stopper le nœud duniter (ligne 50) puis le réactiver à la fin du traitement (ligne 161) :wink:


#38

Duniter utilise toujours partiellement SQLite, mais seulement pour les données de piscine et le stockage de l’historique des transactions pour qui souhaite l’activer.

Pour ce qui est de l’exploitation de la base de données de Duniter en live, effectivement comme seul 1 processus peut accéder à la base LevelDB à la fois, Duniter est prioritaire et l’exploitation des données par un tiers doit se faire différemment (plein de solutions sont possibles).

Comme le dit Gérard, c’est pour cela que j’ai mis à niveau la 1.6 afin de permettre à WotWizard de continuer à fonctionner (on en a trop besoin !).


#39

Je pourrais utiliser une astuce comme ça, effectivement.

La commande “os.system(‘duniter stop’)” bloque l’exécution du script jusqu’à l’arrêt de Duniter, qui n’est pas instantané, je suppose.


#40

En effet, ce n’est pas instantané. Mais, pour le moment ça n’empêche pas l’exécution du script pour la wotmap. Néanmoins @tuxmain a fait une version avec des boucles au cas où l’arrêt de duniter serait trop long.


#41

Ah, donc la commande “os.system(‘duniter stop’)” ne bloque pas le script. Je pense qu’il vaut mieux, effectivement, ajouter un temps suffisant d’attente, ou tester l’arrêt de Duniter.