Обзор высокого уровня: У меня есть файл server.py
и класс WorkTask.py
, который имеет в нем некоторую функцию execute
, хранящуюся на моем сервере. У меня также есть client.py
, который работает удаленно и подключается к серверу с помощью pyro. Есть ли в любом случае, что я могу передать класс WorkTask
с сервера на клиент, а затем запустить функцию WorkTask.execute()
на стороне клиента?Pyro: Можно ли передать класс с сервера клиенту, а затем создать экземпляр этого класса на стороне клиента?
0
A
ответ
1
Только если у вас уже есть экземпляр WorkTask.py на клиенте и используется сериализатор рассола.
Вы также можете посмотреть Pyro4.utils.flame.createModule(). См. https://pythonhosted.org/Pyro4/flame.html
Это большой риск для безопасности, хотя, поскольку использование pickle позволяет выполнять произвольное выполнение кода, если вы подключаетесь к ненадежной удаленной стороне.
Вы хотите, чтобы центральный процессор клиента запускал «WorkTask.execute()», или вы хотите, чтобы процессор сервера выполнял его, а просто выполнил его клиент? –