From 852d21fa20bc3a976a039ccab20c7249c61d6523 Mon Sep 17 00:00:00 2001 From: Wilmer Uruchi Ticona Date: Fri, 16 Oct 2020 14:41:11 +0200 Subject: [PATCH] Implementing #371. Fixing job list size on save --- autosubmit/job/job_list.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/autosubmit/job/job_list.py b/autosubmit/job/job_list.py index 26efd72b2..4e030b88b 100644 --- a/autosubmit/job/job_list.py +++ b/autosubmit/job/job_list.py @@ -54,6 +54,7 @@ class JobList(object): self._failed_file = "failed_job_list_" + expid + ".pkl" self._persistence_file = "job_list_" + expid self._job_list = list() + self._base_job_list = list() self._expid = expid self._config = config self._parser_factory = parser_factory @@ -106,6 +107,7 @@ class JobList(object): def run_members(self, value): if value is not None: self._run_members = value + self._base_job_list = [job for job in self._job_list] old_job_list = [job for job in self._job_list] self._job_list = [ job for job in old_job_list if job.member is None or job.member in self._run_members or job.status not in [Status.WAITING, Status.READY]] @@ -1084,9 +1086,16 @@ class JobList(object): """ Persists the job list """ + job_list = None + if self.run_members is not None: + job_names = [job.name for job in self._job_list] + job_list = [job for job in self._job_list] + for job in self._base_job_list: + if job.name not in job_names: + job_list.append(job) self.update_status_log() self._persistence.save(self._persistence_path, - self._persistence_file, self._job_list) + self._persistence_file, self._job_list if self.run_members is None or job_list is None else job_list) def backup_save(self): """ -- GitLab