diff --git a/src/neptune_scale/api/run.py b/src/neptune_scale/api/run.py index 3be1255e..a1617550 100644 --- a/src/neptune_scale/api/run.py +++ b/src/neptune_scale/api/run.py @@ -408,16 +408,16 @@ def _close(self, *, timeout: Optional[float] = None) -> None: logger.debug(f"Run is closing, timeout={timeout}") + if self._sync_process_supervisor is not None: + self._sync_process_supervisor.interrupt() + self._sync_process_supervisor.join(timeout=timer.remaining_time()) + if self._sync_process is not None and self._sync_process.is_alive(): self.wait_for_processing(timeout=timer.remaining_time()) self._sync_process.terminate() self._sync_process.join(timeout=timer.remaining_time()) - if self._sync_process_supervisor is not None: - self._sync_process_supervisor.interrupt() - self._sync_process_supervisor.join(timeout=timer.remaining_time()) - if self._lag_tracker is not None: self._lag_tracker.interrupt() self._lag_tracker.join(timeout=timer.remaining_time())