From f54dd511095584ad7b193b7b6640ab0fceb0cef4 Mon Sep 17 00:00:00 2001 From: Dorian Koch <doriank@fsmpi.rwth-aachen.de> Date: Thu, 26 Sep 2024 15:52:41 +0200 Subject: [PATCH] Don't immediately delete everything after processing --- config/job_controller_config.py | 5 +++++ src/jobs/wrapped_job.py | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/config/job_controller_config.py b/config/job_controller_config.py index c33c2d8..707b6dc 100644 --- a/config/job_controller_config.py +++ b/config/job_controller_config.py @@ -11,3 +11,8 @@ POSTGRES = { "database": "videoag" } ''' + +# Whether to immediately delete jobs after they have been processed +# Ideally everything that is needed will be extracted from the job and stored in the database, so this should be set to True +DELETE_JOBS_AFTER_SUCCESS = True +DELETE_JOBS_AFTER_FAILURE = False diff --git a/src/jobs/wrapped_job.py b/src/jobs/wrapped_job.py index 45e636c..4d7534a 100644 --- a/src/jobs/wrapped_job.py +++ b/src/jobs/wrapped_job.py @@ -40,13 +40,16 @@ class WrappedJob(Event): if self.job_state == JobState.FINISHED: self.success(cstate) self.jobData.update_state(cstate, JobState.FINISHED_AND_PROCESSED) + if cstate.config.get("DELETE_JOBS_AFTER_SUCCESS", True): + cstate.k8s.delete_job_by_id(self.job_id) elif self.job_state == JobState.FAILED: self.failure(cstate) self.jobData.update_state(cstate, JobState.FAILED_AND_PROCESSED) + if cstate.config.get("DELETE_JOBS_AFTER_FAILURE", True): + cstate.k8s.delete_job_by_id(self.job_id) else: raise Exception(f"Job is in unexpected state: {self.job_state}") - # delete from k8s - cstate.k8s.delete_job_by_id(self.job_id) + # update state to processed if self.job_state == JobState.FINISHED_AND_PROCESSED or self.job_state == JobState.FAILED_AND_PROCESSED: return EventResult.DONE -- GitLab