From bdf87940743462c92e63e8ee4175b05e1b762d32 Mon Sep 17 00:00:00 2001 From: Wilmer Uruchi Ticona Date: Mon, 28 Sep 2020 15:21:51 +0200 Subject: [PATCH] Apparently job.packed does not always show when a job is part of a package. Instead of that we use the package database directly. --- autosubmit/database/db_jobdata.py | 10 ++++++---- autosubmit/platforms/slurmplatform.py | 5 ++++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/autosubmit/database/db_jobdata.py b/autosubmit/database/db_jobdata.py index 648795826..2b9b1f290 100644 --- a/autosubmit/database/db_jobdata.py +++ b/autosubmit/database/db_jobdata.py @@ -902,11 +902,13 @@ class JobDataStructure(MainDataBase): # print("Writing finish time \t" + str(job_name) + "\t" + str(finish)) job_data_last = self.get_job_data_last(job_name) # energy = 0 + is_packed = False submit_time = start_time = finish_time = number_nodes = number_cpus = energy = 0 extra_data = dict() # Updating existing row if job_data_last: job_data_last = job_data_last[0] + is_packed = True if job_data_last.rowtype > 1000 else False # Call Slurm here, update times. if platform_object: # print("There is platform object") @@ -915,7 +917,7 @@ class JobDataStructure(MainDataBase): if platform_object.type == "slurm": # print("Checking Slurm for " + str(job_name)) submit_time, start_time, finish_time, energy, number_cpus, number_nodes, extra_data = platform_object.check_job_energy( - job_id, packed) + job_id, is_packed) except Exception as exp: Log.info(traceback.format_exc()) Log.warning(str(exp)) @@ -948,15 +950,15 @@ class JobDataStructure(MainDataBase): return True # It is necessary to create a new row submit_inserted = self.write_submit_time( - job_name, finish, status, ncpus, wallclock, qos, date, member, section, chunk, platform, job_id, packed) + job_name, finish, status, ncpus, wallclock, qos, date, member, section, chunk, platform, job_id, is_packed) write_inserted = self.write_start_time(job_name, finish, status, ncpus, - wallclock, qos, date, member, section, chunk, platform, job_id, packed) + wallclock, qos, date, member, section, chunk, platform, job_id, is_packed) # print(submit_inserted) # print(write_inserted) if submit_inserted and write_inserted: #print("retro finish") self.write_finish_time( - job_name, finish, status, ncpus, wallclock, qos, date, member, section, chunk, platform, job_id, platform_object, packed, number_nodes) + job_name, finish, status, ncpus, wallclock, qos, date, member, section, chunk, platform, job_id, platform_object, is_packed, number_nodes) else: return None except Exception as exp: diff --git a/autosubmit/platforms/slurmplatform.py b/autosubmit/platforms/slurmplatform.py index 339f8c11f..26132d828 100644 --- a/autosubmit/platforms/slurmplatform.py +++ b/autosubmit/platforms/slurmplatform.py @@ -177,7 +177,10 @@ class SlurmPlatform(ParamikoPlatform): "AveRSS": str(line[9] if len(line) > 9 else "NA")} else: # Normal job - extra_data = {"energy": str(line[7] if len(line) > 7 else "NA"), + extra_data = {"submit": str(line[4] if len(line) > 4 else "NA"), + "start": str(line[5] if len(line) > 5 else "NA"), + "finish": str(line[6] if len(line) > 6 else "NA"), + "energy": str(line[7] if len(line) > 7 else "NA"), "MaxRSS": str(line[8] if len(line) > 8 else "NA"), "AveRSS": str(line[9] if len(line) > 9 else "NA")} # Detailed data will contain the important information from output -- GitLab