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") ############################ # XML output of Nodes ############################# a = pyslurm.node() node_dict = a.get()
import pyslurm steps = pyslurm.slurm_get_job_steps(5, 0, 2) print steps for job, job_step in sorted(steps.iteritems()): print "Job: %s" % job for step in sorted(job_step.iterkeys()): print "\tStep: %s" % step step_info = pyslurm.slurm_job_step_layout_get(job, step) for task in sorted(step_info.iterkeys()): print "\t\t%s:\t%s" % (task, step_info[task])
len(string.split(value[14], ','))) xml_file.write("\t\t\t<execNodes>%s</execNodes>\n" % value[18]) xml_file.write("\t\t\t<shared>%s</shared>\n" % value[19]) xml_file.write("\t\t\t<contigous>%s</contigous>\n" % value[20]) xml_file.write("\t\t\t<cpusPerTask>%s</cpusPerTask>\n" % value[21]) xml_file.write("\t\t\t<account>%s</account>\n" % value[22]) xml_file.write("\t\t\t<comment>%s</comment>\n" % value[23]) xml_file.write("\t\t\t<reason>%s</reason>\n" % value[24]) steps = pyslurm.slurm_get_job_steps(value[1], 0, 0) for jobstep in steps: xml_file.write('\t\t\t<jobstep>\n') xml_file.write('\t\t\t\t<id>%s</id>\n' % jobstep[1]) xml_file.write('\t\t\t\t<partition>%s</partition>\n' % jobstep[4]) xml_file.write('\t\t\t\t<name>%s</name>\n' % jobstep[6]) step_info = pyslurm.slurm_job_step_layout_get(value[1], jobstep[1]) nodes = [] for task_info in step_info: nodes.append('%s*%d' % (task_info[0], len(task_info[1]))) xml_file.write('\t\t\t\t<tasks>%s</tasks>\n' % string.join(nodes, ',')) xml_file.write('\t\t\t</jobstep>\n') xml_file.write('\t\t</job>\n') xml_file.write("\t</jobs>\n") pyslurm.slurm_free_job_info_msg(b) a, b = pyslurm.slurm_load_node()
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") # # XML output of Nodes # a = pyslurm.node() node_dict = a.get()