• [^] # Re: Self debug

    Posté par (Mastodon) . En réponse au message Référencer du code dans une BdD ?. Évalué à 2. Dernière modification le 13 juillet 2020 à 23:12.

    Python en un langage dynamique, tu peux patcher à tout moment le code de ton application, par exemple avec du currying (ajouter des méthodes dynamiquement à un objet)... en cours de fonctionnement !
    Il y a bien un eval en python...

    Autre piste: stocker les procédures python dans des grosses string (genre blob ou text dans la base de données), et utiliser un process.exec(python3 )... si tu mets un shebang à ton code dans la DB, tu peux créer un fichier temporaire avec le contenu de ton champs et l'executer directement avec process.exec - il doit y avoir un équivalent ssh dans paramiko. (ansible fait plus ou moins comme ça).

    Ansible est une bonne piste aussi: ça fait tout ça et bien plus !

    • Tu géres un fichier hosts avec les adresses de et IoT
    • Ansible fait un inventaire des ressources pour toi quand il se connecte
    • Tu peux analyser cet inventaire et voir si il y a des décisions à prendre
    • Tu crées une liste de rôles pour les tâches les plus courantes
    • Ton appli automatise les appels aux procédures selon les besoins

    En plus, tu peux utiliser la base SQLite directement comme liste de hosts !

    Courage !