Как использовать @property с Python ProcessManagerPython

Программы на Python
Ответить
Anonymous
 Как использовать @property с Python ProcessManager

Сообщение Anonymous »

У меня есть класс с @property, и я хочу вызвать RuntimeError, если доступ к свойству осуществляется до того, как функция будет установлена ​​из другой функции. Моя проблема заключается в том, что когда я использую этот класс в ProcessManager, это свойство автоматически вызывается при создании этого менеджера, что приводит к постоянному возникновению ошибки. Как я могу обойти это?
Мой код следующий:
from multiprocessing.managers import BaseManager
class TestProvider:
def __init__(self):
self.__result = None

def calculate(self, i1, i2):
self.__result = i1 + i2

@property
def result(self):
if not self.__result:
raise RuntimeError("Tried to access property which is Not calculated")
return self.__result

if __name__ == "__main__":
BaseManager.register("TestProvider", TestProvider)
manager = BaseManager()
manager.start()

provider = manager.TestProvider()


Подробнее здесь: https://stackoverflow.com/questions/792 ... essmanager
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»