code_txt, txt))
def launch_ssh_daemon_client(root_dir, python_code, host, port, user, agent):
- # launch daemon
- proc = server.popen_ssh_subprocess(python_code, host = host,
- port = port, user = user, agent = agent)
- if proc.poll():
- err = proc.stderr.read()
- raise RuntimeError("Client could not be executed: %s" % \
- err)
+ if python_code:
+ # launch daemon
+ proc = server.popen_ssh_subprocess(python_code, host = host,
+ port = port, user = user, agent = agent)
+ if proc.poll():
+ err = proc.stderr.read()
+ raise RuntimeError("Client could not be executed: %s" % \
+ err)
# create client
return server.Client(root_dir, host = host, port = port, user = user,
agent = agent)
s.run()
# create client
self._client = server.Client(root_dir)
+ else:
+ # attempt to reconnect
+ if host != None:
+ self._client = launch_ssh_daemon_client(root_dir, None,
+ host, port, user, agent)
+ else:
+ self._client = server.Client(root_dir)
@property
def guids(self):
xml = xml.replace("\"", r"\'")
xml = xml.replace("\n", r"")
python_code = "from nepi.util.proxy import ExperimentControllerServer;\
- s = ExperimentControllerServer('%s', %d, '%s');\
+ s = ExperimentControllerServer(%r, %r, %r);\
s.run()" % (root_dir, log_level, xml)
self._client = launch_ssh_daemon_client(root_dir, python_code,
host, port, user, agent)
s.run()
# create client
self._client = server.Client(root_dir)
+ else:
+ # attempt to reconnect
+ if host != None:
+ self._client = launch_ssh_daemon_client(root_dir, None,
+ host, port, user, agent)
+ else:
+ self._client = server.Client(root_dir)
@property
def experiment_xml(self):