From 6f051f879164f7f3eef3c60178e5d6eb3d46ea7b Mon Sep 17 00:00:00 2001 From: Patrick Armstrong Date: Wed, 23 May 2012 12:10:59 -0700 Subject: [PATCH] Make Pyon backend reload from persistence on start --- eeagent/execute.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/eeagent/execute.py b/eeagent/execute.py index 2eb9dd9..5ce6d34 100644 --- a/eeagent/execute.py +++ b/eeagent/execute.py @@ -191,8 +191,22 @@ def __init__(self, eeagent_cfg, pyon_container, log=logging): self._factory = PyonPidanticFactory(pyon_container=pyon_container, name=self._eename, directory=self._working_dir, log=self.log) + pidantic_instances = self._factory.reload_instances() + for name in pidantic_instances: + pidantic = pidantic_instances[name] + pw = PidWrapper(self, name) + pw.set_pidantic(pidantic) + self._known_pws[name] = pw + self._state_change_cb = None + self._state_change_cb_arg = None + def set_state_change_callback(self, cb, user_arg): - self._factory.set_state_change_callback(cb, user_arg) + self._state_change_cb = cb + self._state_change_cb_arg = user_arg + + for name in self._known_pws: + pw = self._known_pws['name'] + pw.set_state_change_callback(self._state_change_cb, self._state_change_cb_arg) def run(self, name, parameters):