def run_project(*args,**kwargs): if nexus_core.graph_sims: graph_sims() #end if pm = ProjectManager() pm.add_simulations(*args,**kwargs) pm.run_project() return pm
def run_project(*args,**kwargs): pm = ProjectManager() pm.add_simulations(*args,**kwargs) pm.run_project()
def run_project(*args, **kwargs): pm = ProjectManager() pm.add_simulations(*args, **kwargs) pm.run_project()
def test_run_project(): from generic import generic_settings from nexus_base import nexus_core from simulation import Simulation, input_template from project_manager import ProjectManager from test_simulation_module import get_test_workflow, n_test_workflows tpath = testing.setup_unit_test_output_directory('project_manager', 'test_run_project', divert=True) assert (nexus_core.mode == nexus_core.modes.stages) assert (len(nexus_core.stages) == 0) nexus_core.stages = list(nexus_core.primary_modes) nexus_core.stages_set = set(nexus_core.stages) primary_modes = ['setup', 'send_files', 'submit', 'get_output', 'analyze'] assert (value_eq(nexus_core.stages, primary_modes)) assert (value_eq(nexus_core.stages_set, set(primary_modes))) nexus_core.sleep = 0.1 log = generic_settings.devlog flags = [ 'setup', 'sent_files', 'submitted', 'finished', 'got_output', 'analyzed' ] def finished(s): f = True for flag in flags: f &= s[flag] #end for f &= isinstance(s.process_id, int) return f #end def finished def empty(s): e = True for flag in flags: e &= not s[flag] #end for e &= s.process_id is None e &= s.job.system_id is None return e #end def empty sims = [] for n in range(n_test_workflows): #for n in range(1): sims.extend(get_test_workflow(n).list()) #end for template = ''' name = "$name" a = $a ''' for s in sims: si = input_template(text=template) si.assign(name='input_name', a=1) s.input = si #end for for s in sims: assert (empty(s)) #end for pm = ProjectManager() pm.machine = sims[0].job.get_machine() pm.add_simulations(sims) #pm.write_simulation_status() pm.run_project() #pm.write_simulation_status() #print(log.contents()) for s in sims: assert (finished(s)) #end for restore_nexus() Simulation.clear_all_sims()