#################### # XML output of Jobs #################### a = pyslurm.job() jobs = a.get() xml_file.write("\t<jobs>\n") for key, value in jobs.items(): xml_file.write("\t\t<job>\n") xml_file.write(f"\t\t\t<id>{key}</id>\n") for job_key in sorted(value.items()): xml_file.write(f"\t\t\t<{job_key[0]}>{job_key[1]}</{job_key[0]}>\n") b = pyslurm.jobstep(key, 0, 0) steps = b.get() for job, job_step in sorted(steps.items()): xml_file.write("\t\t\t<jobstep>\n") for step in sorted(job_step.items()): xml_file.write(f"\t\t\t\t<id>{step}</id>\n") step_info = pyslurm.slurm_job_step_layout_get(int(job), int(step)) for task in sorted(step_info.items()): xml_file.write(f"\t\t\t\t<{task[0]}>{task[1]}</{task[0]}>\n") xml_file.write("\t\t\t</jobstep>\n") xml_file.write("\t\t</job>\n") xml_file.write("\t</jobs>\n")
#!/usr/bin/env python from __future__ import print_function import pyslurm import sys from time import gmtime, strftime steps = pyslurm.jobstep() a = steps.get() if a: for job, job_step in sorted(a.iteritems()): print("Job: {0}".format(job)) for step, step_data in sorted(job_step.iteritems()): print("\tStep: {0}".format(step)) for step_item, item_data in sorted(step_data.iteritems()): if 'start_time' in step_item: ddate = pyslurm.epoch2date(item_data) print("\t\t{0:<15} : {1}".format(step_item, ddate)) else: print("\t\t{0:<15} : {1}".format(step_item, item_data)) layout = steps.layout(job, step) print("\t\tLayout:") for name, value in sorted(layout.iteritems()): print("\t\t\t{0:<15} : {1}".format(name, value))
#!/usr/bin/env python """ List steps jobs have gone through """ import pyslurm steps = pyslurm.jobstep() a = steps.get() if a: for job, job_step in sorted(a.items()): print(f"Job: {job}") for step, step_data in sorted(job_step.items()): print(f"\tStep: {step}") for step_item, item_data in sorted(step_data.items()): if "start_time" in step_item: ddate = pyslurm.epoch2date(item_data) print(f"\t\t{step_item:<15} : {ddate}") else: print(f"\t\t{step_item:<15} : {item_data}") layout = steps.layout(job, step) print("\t\tLayout:") for name, value in sorted(layout.items()): print(f"\t\t\t{name:<15} : {value}") print(f"{'':*^80}") else: print("No jobsteps found !")
# # XML output of Jobs # a = pyslurm.job() jobs = a.get() xml_file.write("\t<jobs>\n") for key, value in jobs.items(): xml_file.write('\t\t<job>\n') xml_file.write("\t\t\t<id>{0}</id>\n".format(key)) for job_key in sorted(value.items()): xml_file.write("\t\t\t<{0}>{1}</{2}>\n".format(job_key[0], job_key[1], job_key[0])) b = pyslurm.jobstep(key, 0, 0) steps = b.get() for job, job_step in sorted(steps.items()): xml_file.write('\t\t\t<jobstep>\n') for step in sorted(job_step.items()): xml_file.write("\t\t\t\t<id>{0}</id>\n".format(step)) step_info = pyslurm.slurm_job_step_layout_get(int(job), int(step)) for task in sorted(step_info.items()): xml_file.write('\t\t\t\t<{0}>{1}</{2}>\n'.format(task[0], task[1], task[0])) xml_file.write('\t\t\t</jobstep>\n') xml_file.write('\t\t</job>\n') xml_file.write("\t</jobs>\n")
def test_jobstep_get(): """Jobstep: Test jobstep().get() return type.""" all_jobsteps = pyslurm.jobstep().get() assert isinstance(all_jobsteps, dict)
def test_jobstep_count(): """Jobstep: Test jobstep count.""" all_jobsteps = pyslurm.jobstep().get() all_jobstep_ids = pyslurm.jobstep().ids() assert len(all_jobsteps) == len(all_jobstep_ids)
def test_jobstep_ids(): """Jobstep: Test jobstep().ids() return type.""" all_jobstep_ids = pyslurm.jobstep().ids() assert_true(isinstance(all_jobstep_ids, dict))