2017-10-03 7 views
1

J'utilise actuellement Pyro4 pour créer des démons qui hébergent des services qui sont simplement des objets pouvant être appelés à partir d'autres objets ou scripts hébergés par le démon. Les objets prennent beaucoup de temps à s'initialiser et j'ai donc besoin de garder ces objets en vie plutôt que de simplement réécrire un script qui les crée chaque fois que j'ai besoin de les appeler.Pyro4 pour communication inter-processus hors réseau

La mise en œuvre est magnifiquement simple, le code client s'exécute assez rapidement pour mes besoins et il est facile d'étendre les fonctionnalités. Cependant, Pyro4 est explicitement conçu pour les programmes python qui s'exécutent sur un réseau et je ne fais qu'exécuter ces démons en interne au sein d'un serveur. Il ne semble pas y avoir de paquets python qui gèrent à la fois la démonisation et la communication entre les démons de la même manière que Pyro4.

Ma question: est-ce que Pyro4 convient à mes besoins ou existe-t-il un autre moyen de traiter ce cas d'utilisation?

+1

Juste un commentaire à dire Je suis heureux que vous aimez tellement la mise en œuvre avec Pyro4. –

Répondre

1

De nombreux protocoles de communication inter-processus utilisent "le réseau" même lorsqu'ils s'exécutent sur une seule machine. Les connexions «réseau» sur l'adaptateur de bouclage local (adresses IPV4 127.0.0.0/8 et IPV6 :: 1) devraient être particulièrement rapides car elles ne passent généralement pas par une interface réseau physique. De plus, savez-vous que Pyro4 prend également en charge la communication sur Unix domain sockets?

Ce sont purement une ressource système locale. Dans l'ensemble, l'expression «Pyro4 est explicitement conçu pour les programmes python s'exécutant sur un réseau» est fausse. Je voulais vraiment que Pyro4 soit utilisé entre les processus, même sur un seul ordinateur. S'il y a quelque chose en particulier à propos de Pyro4 qui ne vous convient pas, veuillez le signaler afin qu'il puisse être amélioré!