60 lines
2.2 KiB
Python
60 lines
2.2 KiB
Python
import asyncio
|
|
import sys
|
|
sys.path.insert(0, 'LightRAG-main')
|
|
|
|
from lightrag.api.workspace_manager import WorkspaceManager
|
|
from lightrag.lightrag import LightRAG
|
|
from lightrag.kg.shared_storage import get_storage_lock, initialize_share_data
|
|
|
|
async def main():
|
|
# Ensure shared data is initialized (should be done by default workspace)
|
|
initialize_share_data()
|
|
print("Shared data initialized")
|
|
|
|
# Get workspace manager (singleton)
|
|
from lightrag.api.lightrag_server import workspace_manager
|
|
if workspace_manager is None:
|
|
print("Workspace manager not initialized, creating...")
|
|
from lightrag.api.workspace_manager import WorkspaceManager
|
|
workspace_manager = WorkspaceManager()
|
|
|
|
# Get RAG instance for workspace 'test'
|
|
rag = workspace_manager.get_rag('test')
|
|
print(f"RAG instance: {rag}")
|
|
print(f"RAG workspace: {rag.workspace}")
|
|
print(f"RAG storages status: {rag._storages_status}")
|
|
|
|
# Check doc_status storage
|
|
doc_status = rag.doc_status
|
|
print(f"doc_status type: {type(doc_status)}")
|
|
print(f"doc_status._storage_lock: {doc_status._storage_lock}")
|
|
|
|
# Check global storage lock
|
|
lock = get_storage_lock()
|
|
print(f"Global storage lock: {lock}")
|
|
print(f"Global storage lock._lock: {lock._lock if hasattr(lock, '_lock') else 'N/A'}")
|
|
|
|
# Initialize storages
|
|
if rag._storages_status != rag._storages_status.FINALIZED:
|
|
print("Initializing storages...")
|
|
await rag.initialize_storages()
|
|
print(f"After initialization, storages status: {rag._storages_status}")
|
|
print(f"doc_status._storage_lock after init: {doc_status._storage_lock}")
|
|
if doc_status._storage_lock is None:
|
|
print("ERROR: _storage_lock still None!")
|
|
else:
|
|
print("Lock seems okay")
|
|
else:
|
|
print("Storages already initialized")
|
|
|
|
# Try to call get_docs_paginated (should not raise error)
|
|
try:
|
|
result = await doc_status.get_docs_paginated(page=1, page_size=10)
|
|
print(f"get_docs_paginated succeeded: {len(result[0])} docs")
|
|
except Exception as e:
|
|
print(f"get_docs_paginated failed: {e}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(main()) |