INNER CODE UNIT · Python
lifespan
skygazer42/MimirQ · app/main.py:419
async def lifespan(app: FastAPI):
"""Operations on app startup and shutdown."""
# Startup: create database tables.
logger.info("Starting MimirQ backend...")
_ensure_startup_directories()
_ensure_optional_log_directories()
_setup_langsmith_tracing()
_initialize_database_for_startup()
_bootstrap_initial_admin()
await _initialize_task_queue()
_start_task_queue_observability_poller()
# Tokenizer initialization is process-local. Complete it before readiness so a
# newly added API replica does not serialize its first concurrent requests.
_warmup_retrieval_tokenizer()
_start_runtime_warmup()
_build_bm25_startup_indexes()
_schedule_dify_external_knowledge_warmup()