LINUX.ORG.RU

История изменений

Исправление theurs, (текущая версия) :

Кажется - то что нужно. можно практически напрямую вызывать функции из серверного скрипта

Конечно, вот простой пример использования Pyro4:

Создайте удаленный объект, который будет доступен для вызова из других процессов или машин:

import Pyro4

@Pyro4.expose
class MyObject:
    def say_hello(self, name):
        return "Hello, {}!".format(name)


Создайте Pyro-сервер и зарегистрируйте объект в сервисе именования:

daemon = Pyro4.Daemon()
uri = daemon.register(MyObject)
ns = Pyro4.locateNS()
ns.register("myobject", uri)
print("Ready.")
daemon.requestLoop()


Теперь вы можете вызвать метод удаленного объекта из другого процесса или машины:

import Pyro4

uri = "PYRO:myobject@localhost:50001"
myobject = Pyro4.Proxy(uri)
print(myobject.say_hello("World")) # выведет "Hello, World!"


Это простой пример, но Pyro4 позволяет делать гораздо более сложные вещи, такие как передача объектов между процессами, использование асинхронных вызовов и многое другое.

Исходная версия theurs, :

Кажется - то что нужно

Конечно, вот простой пример использования Pyro4:

Создайте удаленный объект, который будет доступен для вызова из других процессов или машин:

import Pyro4

@Pyro4.expose
class MyObject:
    def say_hello(self, name):
        return "Hello, {}!".format(name)


Создайте Pyro-сервер и зарегистрируйте объект в сервисе именования:

daemon = Pyro4.Daemon()
uri = daemon.register(MyObject)
ns = Pyro4.locateNS()
ns.register("myobject", uri)
print("Ready.")
daemon.requestLoop()


Теперь вы можете вызвать метод удаленного объекта из другого процесса или машины:

import Pyro4

uri = "PYRO:myobject@localhost:50001"
myobject = Pyro4.Proxy(uri)
print(myobject.say_hello("World")) # выведет "Hello, World!"


Это простой пример, но Pyro4 позволяет делать гораздо более сложные вещи, такие как передача объектов между процессами, использование асинхронных вызовов и многое другое.