From 59851762394f50f16d8b346350f6985d2dedf8e6 Mon Sep 17 00:00:00 2001 From: Chris Harris Date: Fri, 6 Mar 2026 19:39:17 +0000 Subject: [PATCH] Fix gather to work with Python 3.12 --- compute_worker/compute_worker.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/compute_worker/compute_worker.py b/compute_worker/compute_worker.py index 2e39c1800..3d1eaa5c2 100644 --- a/compute_worker/compute_worker.py +++ b/compute_worker/compute_worker.py @@ -1183,11 +1183,12 @@ def start(self): logger.info("Running scoring program, and then ingestion program") loop = asyncio.new_event_loop() + # Set the event loop for the gather + asyncio.set_event_loop(loop) gathered_tasks = asyncio.gather( self._run_program_directory(program_dir, kind="program"), self._run_program_directory(ingestion_program_dir, kind="ingestion"), self.watch_detailed_results(), - loop=loop, return_exceptions=True, ) @@ -1278,6 +1279,9 @@ def start(self): # set logs of this kind to None, since we handled them already logger.info("Program finished") signal.alarm(0) + # Ensure loop is cleaned up + loop.close() + asyncio.set_event_loop(None) if self.is_scoring: # Check if scoring program failed