From 49f31b794321df7a661f393f69f51a49c68c9dea Mon Sep 17 00:00:00 2001 From: Harrison Deng Date: Wed, 5 Feb 2025 21:47:51 +0000 Subject: [PATCH] Async aligner work tracking issue fixed --- src/autobigs/engine/analysis/aligners.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/autobigs/engine/analysis/aligners.py b/src/autobigs/engine/analysis/aligners.py index a449c5a..67d7c02 100644 --- a/src/autobigs/engine/analysis/aligners.py +++ b/src/autobigs/engine/analysis/aligners.py @@ -26,6 +26,7 @@ class AsyncPairwiseAlignmentEngine(AbstractContextManager): self._work_left.add(work) def _on_complete(self, future: Future): + self._work_left.remove(future) self._work_complete.put(future) def work(self, reference, query, **associated_data): @@ -52,9 +53,7 @@ class AsyncPairwiseAlignmentEngine(AbstractContextManager): if self._work_complete.empty() and len(self._work_left): return None future_now = await asyncio.wrap_future(self._work_complete.get()) - completed: tuple[PairwiseAlignment, dict[str, Any]] = future_now - self._work_left.remove(future_now) - return completed + return future_now def __exit__(self, exc_type, exc_value, traceback): self.shutdown()