Je veux garder une classe python en vie permanente afin que je puisse interagir en permanence avec elle. La raison en est que cette classe est très intensive en mémoire ce qui signifie que (1) je ne peux pas l'insérer plusieurs fois dans la mémoire, et (2) charger la classe est excessivement lent.Interagir avec les objets python stockés sur le serveur
J'ai essayé de l'implémenter en utilisant Pyro et RPYC, mais il semble que ces paquets suppriment toujours l'objet et créent un nouvel objet chaque fois qu'une nouvelle requête est faite (ce qui est exactement ce que je ne veux pas faire.) Cependant, j'ai trouvé l'option suivante pour Pyro:
@ Pyro4.behavior (instance_mode = "single")
qui assure une seule instance est créée. Cependant, puisqu'il est possible que plusieurs demandes soient faites simultanément je ne suis pas 100% que c'est sûr à faire. Y a-t-il une meilleure façon d'accomplir ce que j'essaie de faire?
Merci d'avance pour toute aide, il est grandement apprécié! (Cela fait longtemps que je me bats avec ça).
L
Le mode d'instance par défaut de Pyro n'est pas de créer une nouvelle instance * par requête * mais plutôt * par session * (= connexion proxy). –
C'est en effet le cas désolé pour mon erreur! Pour moi, c'était plus ou moins le cas puisque je ne fais qu'une seule demande par session, mais c'est effectivement une distinction importante. –