From 031cb3b6cbf52cd0becd9fdad0facc6c34c083af Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 15 Sep 2020 01:00:48 +0100 Subject: lorry-controller-remove-old-jobs: Use a single loop in process_args In order to filter jobs earlier, we need to have a single loop over jobs in process_args(). Related to #18. --- lorry-controller-remove-old-jobs | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'lorry-controller-remove-old-jobs') diff --git a/lorry-controller-remove-old-jobs b/lorry-controller-remove-old-jobs index d31b540..677e0cd 100755 --- a/lorry-controller-remove-old-jobs +++ b/lorry-controller-remove-old-jobs @@ -69,22 +69,17 @@ class OldJobRemover(cliapp.Application): def process_args(self, args): logging.info('Removing old jobs from Lorry Controller STATEDB') - job_ids = self.list_jobs() - - job_infos = [] - for job_id in job_ids: + for job_id in self.list_jobs(): try: - job_infos.append(self.get_job_info(job_id)) + job_info = self.get_job_info(job_id) except urllib.error.HTTPError as e: logging.warning( 'Trouble getting job info for job %s: %s' % (job_id, str(e))) + continue - ids_of_jobs_to_remove = \ - [job_info for job_info in job_infos if self.is_old(job_info)] - - for job_info in ids_of_jobs_to_remove: - self.remove_job(job_info.job_id) + if self.is_old(job_info): + self.remove_job(job_info.job_id) def list_jobs(self): data = self.get('/1.0/list-jobs') -- cgit v1.2.1