Moved update status logic to document routes.

- Removed update status from health check endpoint
- Added update_status field to PipelineStatusResponse
This commit is contained in:
yangdx
2025-03-24 05:37:03 +08:00
parent 90ef55960d
commit 071302d10f
2 changed files with 10 additions and 6 deletions

View File

@@ -423,9 +423,6 @@ def create_app(args):
@app.get("/health", dependencies=[Depends(optional_api_key_dependency)])
async def get_status():
"""Get current system status"""
# Get update flags status for all namespaces
update_status = await get_all_update_flags_status()
username = os.getenv("AUTH_USERNAME")
password = os.getenv("AUTH_PASSWORD")
if not (username and password):
@@ -453,11 +450,10 @@ def create_app(args):
"vector_storage": args.vector_storage,
"enable_llm_cache_for_extract": args.enable_llm_cache_for_extract,
},
"update_status": update_status,
"core_version": core_version,
"api_version": __api_version__,
"auth_mode": auth_mode,
}
}
# Custom StaticFiles class to prevent caching of HTML files
class NoCacheStaticFiles(StaticFiles):

View File

@@ -111,6 +111,7 @@ class PipelineStatusResponse(BaseModel):
request_pending: Flag for pending request for processing
latest_message: Latest message from pipeline processing
history_messages: List of history messages
update_status: Status of update flags for all namespaces
"""
autoscanned: bool = False
@@ -123,6 +124,7 @@ class PipelineStatusResponse(BaseModel):
request_pending: bool = False
latest_message: str = ""
history_messages: Optional[List[str]] = None
update_status: Optional[dict] = None
class Config:
extra = "allow" # Allow additional fields from the pipeline status
@@ -796,13 +798,19 @@ def create_document_routes(
HTTPException: If an error occurs while retrieving pipeline status (500)
"""
try:
from lightrag.kg.shared_storage import get_namespace_data
from lightrag.kg.shared_storage import get_namespace_data, get_all_update_flags_status
pipeline_status = await get_namespace_data("pipeline_status")
# Get update flags status for all namespaces
update_status = await get_all_update_flags_status()
# Convert to regular dict if it's a Manager.dict
status_dict = dict(pipeline_status)
# Add update_status to the status dictionary
status_dict["update_status"] = update_status
# Convert history_messages to a regular list if it's a Manager.list
if "history_messages" in status_dict:
status_dict["history_messages"] = list(status_dict["history_messages"])