Aller au contenu

Messages recommandés

Posté(e)

Bonsoir à tous..   Ma question s'adresse au savant luxien.    

Contexte :

J'ai deux imprimantes, une Ender 3 et une CR10 (ben ouais, rien de nouveau sous le soleil, c'est Ă©cris dans mon profil), chacune Ă©tant pilotĂ©e par un Pi 4, avec Octoprint !  Sur chacun de ces Octoprint, j'ai installĂ© Spool Manager (j'adore ce plugin pour gĂ©rer mes bobines de filament).  Mais voilĂ , j'aimerais bien que chacun des plugin utilise la mĂȘme BD, afin que le suivi des bobines se fasse, peu importe quelle imprimante j'utilise.

Mon premier test, a Ă©tĂ© de dĂ©porter vers un autre Pi (qui gĂšre Plex Media et sert de NAS) ma BD (spoolmanager.db).    Le rĂ©pertoire qui accueille la BD est accessible en lecture, Ă©criture et crĂ©ation.    J'ai modifiĂ© mon fstab (/etc/fstab) pour associer le rĂ©pertoire distant au rĂ©pertoire local (normalement oĂč est situĂ©e la BD).

proc            /proc           proc    defaults          0       0
PARTUUID=6e3066b4-01  /boot           vfat    defaults          0       2
PARTUUID=6e3066b4-02  /               ext4    defaults,noatime  0       1

//192.168.1.110/Autre/Octopi/spoolmanager       /home/pi/.octoprint/data/SpoolManager   cifs    credentials=/root/.smbcredentials,iocharset=utf8,file_mode=0777,dir_mode=0777,de$
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that

//192.168.1.110 est le Pi sur lequel se trouve la BD.     Le fichier smbcredentials contient le username et le passwors pour accéder au Pi.

Voilà le problÚme:  Octoprint arrives à lire la BD.  J'ai donc toute mon inventaire affichée. Mais lorsque l'impression est terminée, Octoprint ne peut mettre la BD à jour avec la quantitée de filament utilisée.  je joins la partie du Log.

Ca semble etre une question de verrouillage de la BD.   Je précise, que l'autre Pi n'accede pas à cette BD pour l'instant (elle ne peut donc pas etre verrouillée par un accÚs tiers).

Des idées ??

Merci Ă  l'avance !!

octoprint.log

Posté(e) (modifié)

@PierreG,

Manifestement SpoolManager en mode local utilise SQLLite qui ne fonctionne pas trĂšs bien avec du NFS (problĂšme de verrous ...)

Dans le code du plugin (et dans les discussions) il semblerait que l'on puisse utiliser postgresssql ou mysql comme Base de donnée en passant le plugin en mode 'pas local'.

Par contre je pense qu'il faut installer postgresssql ou mysql sur le nas (ça c'est facile) et migrer les données (ça ce n'est pas forcément simple) sur la nouvelle base.

En gros ce n'est pas gagnĂ©, mais ça semble faisable 🙂 

Modifié (le) par Savate
Posté(e)

Pour moi, c'est une histoire d'accÚs concurrent a une base de données SQLite ( https://www.google.com/search?q=sqlite+accÚs+concurrent )

A l'origine SQLite n'Ă©tait, il me semble, pas conçue pour ĂȘtre utilisĂ© par plusieurs thread et donc non plus par plusieurs processus.

Des niveau de verrou on Ă©tait introduit (selon la version de SQLite ) pour permettre cela mais c'est, il me semble, bien moins fin qu’avec d'autre systĂšme de gestion de base de donnĂ©es MySQL par exemple.)

Donc la solution de Savate semble la plus adapté pour garantir que tu ne te retrouve pas avec un fichier/ une base de données incohérente.

Ou alors il faut Ă©tudier le/les programme qui utilise le fichier pour dĂ©terminer si en les modifiant ( pour chaque requĂȘte SQL, changer le mode d’accĂšs ( cette notion de verrou/protection qui sera mis en place)  pour trouver un meilleur compromis ... en gros si un processus lis la base, un autre a t'il le droit d'y Ă©crire ou doit t'il attendre que le 1er est finis de lire ( et donc le 1er doit t'il de temps en temps lĂącher le verrou / arrĂȘter la lecture ... ))

Posté(e)

Salut @PierreG,

 

Avec Blender, j'ai eu des problÚmes pour accéder à un stockage sur le réseau, que je n'avais pas avant upgrade de l'OS.

J'ai résolu le problÚme en lançant blender en mode administrateur (sudo ./blender).

 

ça commence à devenir compliqué la gestion des droits sous linux.

Il faut les bons attributs dans fstab du client et les bons attributs dans le smb.conf du serveur. đŸ€Ż

 

🙂

Posté(e)

Le dĂ©veloppeur du greffon «spool manager» travaille sur la gestion de la BDD via une «vraie» base de donnĂ©es Mariadb/Postgresql mais ce n'est pas encore totalement fonctionnel 😞 : roadmap

Son autre greffon que j'ai longtemps utilisĂ© avant de basculer sur SpoolMngr, Filament manager permettait lui une gestion via base de donnĂ©es (Postgresql). Mais je prĂ©fĂšre SpoolManager lui dĂ©diĂ© Ă  la gestion des bobines 😉

Une explication concernant le problÚme des BDD locales «partagées» : https://github.com/OllisGit/OctoPrint-SpoolManager/issues/5

🙂

Posté(e)
Il y a 3 heures, fran6p a dit :

Mais je préfÚre SpoolManager

Moi aussi je préfÚre SpoolManager...   Il est plus complet je trouve !!!

Merci pour les liens....     je vais surveiller ca !!

Créer un compte ou se connecter pour commenter

Vous devez ĂȘtre membre afin de pouvoir dĂ©poser un commentaire

Créer un compte

CrĂ©ez un compte sur notre communautĂ©. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • CrĂ©er...