From c3689cb9b5a310e1f53bbd3c91e88b92acc288fb Mon Sep 17 00:00:00 2001 From: dxZhang Date: Tue, 24 Jun 2025 14:12:07 +0800 Subject: [PATCH] Consolidate querying both running and history jobs in pbspro --- lib/schedulers/pbspro.rb | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/lib/schedulers/pbspro.rb b/lib/schedulers/pbspro.rb index ce8dcad..22cf6f6 100644 --- a/lib/schedulers/pbspro.rb +++ b/lib/schedulers/pbspro.rb @@ -96,22 +96,14 @@ def query(jobs, bin = nil, bin_overrides = nil, ssh_wrapper = nil) qstat = get_command_path("qstat", bin, bin_overrides) - # Try to get info for running jobs - command = [ssh_wrapper, qstat, "-f -t", jobs.join(" ")].compact.join(" ") - stdout1, stderr1, status1 = Open3.capture3(command) - return nil, [stdout1, stderr1].join(" ") unless status1.success? - info = {} - parse_qstat_output(stdout1, info) - remaining_jobs = jobs.reject { |id| info.key?(id) } - return info, nil if remaining_jobs.empty? - - # Try to get info for completed jobs - command = [ssh_wrapper, qstat, "-f -t -x", remaining_jobs.join(" ")].compact.join(" ") - stdout2, stderr2, status2 = Open3.capture3(command) - return nil, [stdout2, stderr2].join(" ") unless status2.success? + # Try to get info for both running and completed jobs + # command = [ssh_wrapper, qstat, "-f -t -x", jobs.join(" ")].compact.join(" ") + command = [ssh_wrapper, qstat, "-f -t -x"].compact.join(" ") + stdout, stderr, status = Open3.capture3(command) + return nil, [stdout, stderr].join(" ") unless status.success? - parse_qstat_output(stdout2, info) + parse_qstat_output(stdout, info) return info, nil rescue Exception => e return nil, e.message