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,7 +3,6 @@ import os
from dataclasses import dataclass
from typing import Any, final
import threading
from multiprocessing import Manager
from lightrag.base import (
BaseKVStorage,
@@ -13,6 +12,7 @@ from lightrag.utils import (
logger,
write_json,
)
from lightrag.api.utils_api import manager as main_process_manager
# Global variables for shared memory management
_init_lock = threading.Lock()
@@ -26,7 +26,7 @@ def _get_manager():
with _init_lock:
if _manager is None:
try:
_manager = Manager()
_manager = main_process_manager
_shared_kv_data = _manager.dict()
except Exception as e:
logger.error(f"Failed to initialize shared memory manager: {e}")