feat: add FastAPI manager API compatibility baseline

This commit is contained in:
Tyke Chen
2026-07-20 17:00:13 +08:00
parent 7c58fa37b2
commit 804ddb51f2
140 changed files with 47169 additions and 1 deletions
@@ -0,0 +1,18 @@
from __future__ import annotations
from app.core.config import get_settings
from app.core.database import get_session_factory
from app.core.redis import distributed_lock
from app.repositories.knowledge import KnowledgeRepository
from app.services.knowledge import KnowledgeDocumentService
async def sync_running_knowledge_documents() -> int:
"""Run one document-status pass under a cross-process Redis lock."""
settings = get_settings()
async with distributed_lock("jobs:knowledge-document-status", settings.job_lock_ttl_seconds) as acquired:
if not acquired:
return 0
async with get_session_factory()() as session:
return await KnowledgeDocumentService(KnowledgeRepository(session)).sync_running()