From d66d70d585c5b490ed4261e2f75cb345be124322 Mon Sep 17 00:00:00 2001 From: Olivier Michaud Date: Thu, 17 Oct 2024 08:29:32 -0400 Subject: [PATCH] Load patches in static definition --- src/saturn_engine/worker_manager/api/jobs.py | 2 ++ src/saturn_engine/worker_manager/context.py | 11 +++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/saturn_engine/worker_manager/api/jobs.py b/src/saturn_engine/worker_manager/api/jobs.py index dd3d4fd2..b46c96e9 100644 --- a/src/saturn_engine/worker_manager/api/jobs.py +++ b/src/saturn_engine/worker_manager/api/jobs.py @@ -67,6 +67,8 @@ def update_job(job_name: str) -> Json[UpdateResponse]: def post_sync() -> Json[JobsSyncResponse]: """Create jobs that are due to be scheduled.""" with session_scope() as session: + # We reset static definition at each jobs sync + current_app.saturn.load_static_definition(session=session) sync_jobs( static_definitions=current_app.saturn.static_definitions, session=session, diff --git a/src/saturn_engine/worker_manager/context.py b/src/saturn_engine/worker_manager/context.py index 07710554..fc99b59e 100644 --- a/src/saturn_engine/worker_manager/context.py +++ b/src/saturn_engine/worker_manager/context.py @@ -23,14 +23,14 @@ def static_definitions(self) -> StaticDefinitions: return self._static_definitions def load_static_definition(self, session: AnySession) -> None: - self._static_definitions = _load_static_definition( - session=session, config=self.config - ) + static_definition = _load_static_definition(session=session, config=self.config) + if static_definition: + self._static_definitions = static_definition def _load_static_definition( config: WorkerManagerConfig, session: AnySession -) -> StaticDefinitions: +) -> StaticDefinitions | None: """ Static definitions contain objects defined in a declarative configuration: - Inventories @@ -38,6 +38,9 @@ def _load_static_definition( - Jobs - JobDefinitions """ + if not config.static_definitions_jobs_selector: + return None + definitions = load_definitions_from_paths(config.static_definitions_directories) if config.static_definitions_jobs_selector: definitions = filter_with_jobs_selector(