fix: resolve CI hanging by removing problematic wait() in stop_server

This commit is contained in:
Andy Lee
2025-08-07 23:03:28 -07:00
parent 8714472cd8
commit 440ad6e816
2 changed files with 25 additions and 11 deletions

View File

@@ -600,13 +600,26 @@ class LeannSearcher:
)
except KeyError:
RED = "\033[91m"
RESET = "\033[0m"
logger.error(
f" {RED}{RESET} [{i + 1:2d}] ID: '{string_id}' -> {RED}ERROR: Passage not found!{RESET}"
)
# Define color codes outside the loop for final message
GREEN = "\033[92m"
RESET = "\033[0m"
logger.info(f" {GREEN}✓ Final enriched results: {len(enriched_results)} passages{RESET}")
return enriched_results
def cleanup(self):
"""Explicitly cleanup embedding server resources.
This method should be called after you're done using the searcher,
especially in test environments or batch processing scenarios.
"""
if hasattr(self.backend_impl, "embedding_server_manager"):
self.backend_impl.embedding_server_manager.stop_server()
class LeannChat:
def __init__(
@@ -676,3 +689,12 @@ class LeannChat:
except (KeyboardInterrupt, EOFError):
print("\nGoodbye!")
break
def cleanup(self):
"""Explicitly cleanup embedding server resources.
This method should be called after you're done using the chat interface,
especially in test environments or batch processing scenarios.
"""
if hasattr(self.searcher, "cleanup"):
self.searcher.cleanup()

View File

@@ -393,17 +393,9 @@ class EmbeddingServerManager:
)
# Don't hang indefinitely
# Clean up process resources to prevent resource tracker warnings
try:
self.server_process.wait(timeout=1) # Give it one final chance with timeout
except subprocess.TimeoutExpired:
logger.warning(
f"Process {self.server_process.pid} still hanging after all kill attempts"
)
# Don't wait indefinitely - just abandon it
except Exception:
pass
# Clean up process resources without waiting
# The process should already be terminated/killed above
# Don't wait here as it can hang CI indefinitely
self.server_process = None
def _launch_server_process_colab(self, command: list, port: int) -> None: