2
votes

Base de données Mongodb et Odoo utilisant l'API Odoo

J'ai une application qui s'intègre à la base de données Odoo via l'API Odoo. Mon application a une base de données Mongodb. Fondamentalement, nous appelons l'API Odoo pour récupérer les employés d'Odoo, ajouter des champs à l'objet employé et le stocker dans notre base de données monogodb. Ma question est de savoir comment maintenir la synchronisation entre notre base de données et la base de données Odoo si l'une des deux parties modifie les détails des employés? Le travail cron est-il une bonne idée, donc je peux appeler l'API Odoo toutes les 10 secondes environ et vérifier s'il y a des changements et mettre à jour ma base de données?


1 commentaires

Odoo utilise généralement PostgreSQL comme moteur de base de données et ce dernier dispose d'une fonctionnalité appelée Write Ahead Log, WAL en abrégé. Vous pouvez peut-être le lire, filtrer les opérations qui vous intéressent et les répliquer sur la base de données MongoDB.


4 Réponses :


0
votes

Il y a une autre façon sans tâche cron que vous ferez avec les méthodes "create", "write" et "unlink" écraser dans odoo et la même chose que vous devez faire dans votre application lorsque "create", "write" ou "dissocier", puis appelez odoo api.

et moi ci-dessus, je pense que vous devez passer un drapeau lorsque vous créez un nouvel enregistrement comme cet enregistrement est créé dans l'application odoo et cet enregistrement à partir de votre application. si facile à identifier. car récursivement la création nous devons arrêter c'est pourquoi cet indicateur est passé.

Merci


1 commentaires

Merci beaucoup. nous avons abandonné toute l'intégration, notre approche consiste maintenant à récupérer les données d'Odoo et à les gérer de notre côté.



-2
votes

Vous pouvez remplacer les fonctions odoo: créer ("utilisé lorsque vous créez un nouvel enregistrement"), écrire ("lorsque vous mettez à jour") et dissocier ("lors de la suppression") comme exemple

 @api.model
    def create(self, values):
        """Override default Odoo create function and extend."""
        # Do your custom logic here

p>


1 commentaires

cela ne garantit pas la synchronisation. Supposons que vous n'ayez pas pu atteindre la cible pendant que vous créiez / écriviez des enregistrements dans odoo?



0
votes

Avec un module personnalisé.

Vous pouvez remplacer les méthodes ORM officielles d'odoo et gérer les appels pour mongodb

De même qu'avec les services RPC, vous pouvez mettre à jour, créer ou supprimer de mongodb vers odoo.

SnippetBucket.com a fait une solution similaire pour le système de suivi GPS pour le système de commande de nourriture.


0 commentaires

0
votes

Vous pouvez utiliser "Action serveur" et appliquer lorsque l'enregistrement est mis à jour (écriture), créé (créer) ou supprimer (dissocier), il vous suffit de surcharger ces fonctions en ajoutant l'appel à l'action serveur. p>

 entrez la description de l'image ici

 entrez la description de l'image ici


0 commentaires