From 4b6c1481add342e29ded76024833cce39dda09c1 Mon Sep 17 00:00:00 2001 From: dbeltran Date: Mon, 8 Feb 2021 13:55:12 +0100 Subject: [PATCH 1/2] Log changes --- autosubmit/autosubmit.py | 3 +++ autosubmit/job/job_list.py | 30 ++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/autosubmit/autosubmit.py b/autosubmit/autosubmit.py index 472e9eabd..131a276c8 100644 --- a/autosubmit/autosubmit.py +++ b/autosubmit/autosubmit.py @@ -3599,6 +3599,9 @@ class Autosubmit: Log.info("\nCreating the jobs list...") job_list = JobList(expid, BasicConfig, ConfigParserFactory(), Autosubmit._get_job_list_persistence(expid, as_conf)) + prev_job_list = Autosubmit.load_job_list( + expid, as_conf, notransitive=notransitive) + job_list.add_logs(prev_job_list.get_logs()) date_format = '' if as_conf.get_chunk_size_unit() is 'hour': diff --git a/autosubmit/job/job_list.py b/autosubmit/job/job_list.py index ea97b6f24..6fba03509 100644 --- a/autosubmit/job/job_list.py +++ b/autosubmit/job/job_list.py @@ -827,6 +827,36 @@ class JobList(object): else: return all + def get_logs(self): + """ + Returns a dict of logs by jobs_name jobs + + :param platform: job platform + :type platform: HPCPlatform + :return: logs + :rtype: dict(tuple) + """ + logs = dict() + for job in self._job_list: + logs[job.name] = (job.local_logs,job.remote_logs) + return logs + + def add_logs(self,logs): + """ + add logs to the current job_list + + :param platform: job platform + :type platform: HPCPlatform + :return: logs + :rtype: dict(tuple) + """ + + for job in self._job_list: + if job.name in logs: + job.local_logs = logs[job.name].job.local_logs + job.remote_logs = logs[job.name].job.remote_logs + + def get_ready(self, platform=None, hold=False, wrapper=False): """ Returns a list of ready jobs -- GitLab From b6b6d9a6dec2917051505056f5e2091003eff343 Mon Sep 17 00:00:00 2001 From: dbeltran Date: Mon, 8 Feb 2021 15:49:21 +0100 Subject: [PATCH 2/2] Log changes --- autosubmit/autosubmit.py | 3 ++- autosubmit/job/job_list.py | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/autosubmit/autosubmit.py b/autosubmit/autosubmit.py index 131a276c8..1fb931aa1 100644 --- a/autosubmit/autosubmit.py +++ b/autosubmit/autosubmit.py @@ -3601,7 +3601,7 @@ class Autosubmit: Autosubmit._get_job_list_persistence(expid, as_conf)) prev_job_list = Autosubmit.load_job_list( expid, as_conf, notransitive=notransitive) - job_list.add_logs(prev_job_list.get_logs()) + date_format = '' if as_conf.get_chunk_size_unit() is 'hour': @@ -3623,6 +3623,7 @@ class Autosubmit: else: job_list.remove_rerun_only_jobs(notransitive) Log.info("\nSaving the jobs list...") + job_list.add_logs(prev_job_list.get_logs()) job_list.save() JobPackagePersistence(os.path.join(BasicConfig.LOCAL_ROOT_DIR, expid, "pkl"), "job_packages_" + expid).reset_table() diff --git a/autosubmit/job/job_list.py b/autosubmit/job/job_list.py index 6fba03509..b69268b42 100644 --- a/autosubmit/job/job_list.py +++ b/autosubmit/job/job_list.py @@ -853,8 +853,8 @@ class JobList(object): for job in self._job_list: if job.name in logs: - job.local_logs = logs[job.name].job.local_logs - job.remote_logs = logs[job.name].job.remote_logs + job.local_logs = logs[job.name][0] + job.remote_logs = logs[job.name][1] def get_ready(self, platform=None, hold=False, wrapper=False): -- GitLab