refactor: use shared manager from main process for storage implementations.

This commit is contained in:
yangdx
2025-02-25 12:08:49 +08:00
parent e22e014f22
commit a642bb3190
5 changed files with 11 additions and 14 deletions

View File

@@ -3,13 +3,12 @@ import time
import asyncio
from typing import Any, final
import threading
from multiprocessing import Manager
import json
import numpy as np
from dataclasses import dataclass
import pipmaster as pm
from lightrag.api.utils_api import manager as main_process_manager
from lightrag.utils import (
logger,
@@ -22,7 +21,7 @@ from lightrag.base import (
if not pm.is_installed("faiss"):
pm.install("faiss")
import faiss
import faiss # type: ignore
# Global variables for shared memory management
_init_lock = threading.Lock()
@@ -37,7 +36,7 @@ def _get_manager():
with _init_lock:
if _manager is None:
try:
_manager = Manager()
_manager = main_process_manager
_shared_indices = _manager.dict()
_shared_meta = _manager.dict()
except Exception as e: