def create_experiment_suite(xml, access_config, repetitions = None, duration = None, wait_guids = None): mode = None if access_config : (mode, launch, root_dir, log_level, communication, user, host, port, key, agent, sudo, environment_setup, clean_root) \ = get_access_config_params(access_config) if not mode or mode == DC.MODE_SINGLE_PROCESS: from nepi.core.execute import ExperimentSuite if not root_dir: root_dir = TempDir() else: root_dir = PermDir(access_config.get_attribute_value(DC.ROOT_DIRECTORY)) exp_suite = ExperimentSuite(xml, access_config, repetitions, duration, wait_guids) # inject reference to temporary dir, so that it gets cleaned # up at destruction time. exp_suite._tempdir = root_dir return exp_suite elif mode == DC.MODE_DAEMON: return ExperimentSuiteProxy(root_dir, log_level, xml, repetitions = repetitions, duration = duration, wait_guids = wait_guids, communication = communication, host = host, port = port, user = user, ident_key = key, agent = agent, sudo = sudo, environment_setup = environment_setup, clean_root = clean_root) raise RuntimeError("Unsupported access configuration '%s'" % mode)
def post_daemonize(self): from nepi.core.execute import ExperimentSuite self._experiment_suite = ExperimentSuite( self._experiment_xml, self._access_config, self._repetitions, self._duration, self._wait_guids)