Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions pysqa/wrapper/sge.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,5 +55,6 @@ def leaf_to_dict(leaf):
"user": df_merge.JB_owner,
"jobname": df_merge.JB_name,
"status": df_merge.state,
"working_directory": [""] * len(df_merge),
}
)
17 changes: 12 additions & 5 deletions pysqa/wrapper/slurm.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ def delete_job_command(self):

@property
def get_queue_status_command(self):
return ["squeue", "--format", "%A|%u|%t|%.15j", "--noheader"]
return ["squeue", "--format", "%A|%u|%t|%.15j|%Z", "--noheader"]

@staticmethod
def get_job_id_from_output(queue_submit_output):
Expand All @@ -39,20 +39,27 @@ def get_job_id_from_output(queue_submit_output):
def convert_queue_status(queue_status_output):
line_split_lst = [line.split("|") for line in queue_status_output.splitlines()]
if len(line_split_lst) != 0:
job_id_lst, user_lst, status_lst, job_name_lst = zip(
job_id_lst, user_lst, status_lst, job_name_lst, working_directory_lst = zip(
*[
(int(jobid), user, status.lower(), jobname)
for jobid, user, status, jobname in line_split_lst
(int(jobid), user, status.lower(), jobname, working_directory)
for jobid, user, status, jobname, working_directory in line_split_lst
]
)
else:
job_id_lst, user_lst, status_lst, job_name_lst = [], [], [], []
job_id_lst, user_lst, status_lst, job_name_lst, working_directory_lst = (
[],
[],
[],
[],
[],
)
df = pandas.DataFrame(
{
"jobid": job_id_lst,
"user": user_lst,
"jobname": job_name_lst,
"status": status_lst,
"working_directory": working_directory_lst,
}
)
df.loc[df.status == "r", "status"] = "running"
Expand Down
5 changes: 3 additions & 2 deletions tests/test_queueadapter.py
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ def test_interfaces(self):
self.assertEqual(self.slurm._adapter._commands.delete_job_command, ["scancel"])
self.assertEqual(
self.slurm._adapter._commands.get_queue_status_command,
["squeue", "--format", "%A|%u|%t|%.15j", "--noheader"],
["squeue", "--format", "%A|%u|%t|%.15j|%Z", "--noheader"],
)
self.assertEqual(self.moab._adapter._commands.submit_job_command, ["msub"])
self.assertEqual(
Expand All @@ -148,7 +148,7 @@ def test_interfaces(self):
)
self.assertEqual(
self.gent._adapter._commands.get_queue_status_command,
["squeue", "--format", "%A|%u|%t|%.15j", "--noheader"],
["squeue", "--format", "%A|%u|%t|%.15j|%Z", "--noheader"],
)

def test__list_command_to_be_executed(self):
Expand Down Expand Up @@ -254,6 +254,7 @@ def test_convert_queue_status(self):
"user": df_merge.user,
"jobname": df_merge.jobname,
"status": df_merge.status,
"working_directory": [""] * len(df_merge),
}
)
self.assertTrue(
Expand Down