Dựa trên `server.py`, hệ thống không dùng decorators cũ mà dùng chuẩn **FastAPI Lifespan** (`@asynccontextmanager`) để quản lý Graceful Startup và Shutdown. 

Lifespan đảm bảo tài nguyên được cấp phát và giải phóng an toàn, tránh Memory Leak và Zombie Process khi hot-reload.

```mermaid
sequenceDiagram
    participant Uvicorn as Uvicorn (ASGI)
    participant FastAPI as FastAPI Lifespan
    participant Redis as Redis Cache
    participant EventBus as FastStream
    participant Worker as Background Task
    participant DB as Connection Pool

    Uvicorn->>FastAPI: App Startup (yield)
    FastAPI->>Redis: redis_cache.initialize()
    FastAPI->>EventBus: event_bus.start()
    FastAPI->>Worker: report_worker_loop() & start_publish_engine()
    FastAPI-->>Uvicorn: Ready for Requests

    note over Uvicorn, FastAPI: Phục vụ HTTP/WS Requests

    Uvicorn->>FastAPI: Shutdown Signal (Ctrl+C / Reload)
    FastAPI->>EventBus: event_bus.stop()
    FastAPI->>DB: db_pool.close_all()
    FastAPI->>DB: StarRocksConnection.close()
    FastAPI-->>Uvicorn: Exited Gracefully
```

**Luồng khởi tạo:**
1. `redis_cache` được khởi tạo đầu tiên để sẵn sàng cho session.
2. `event_bus` (FastStream) được kích hoạt cho pub/sub events.
3. Các Background Worker (`report_worker_loop` và `publish_engine`) được tạo qua `asyncio.create_task`.

**Luồng dọn dẹp (Shutdown):**
Đóng sạch kết nối `event_bus`, Postgres (`db_pool`) và StarRocks để tránh treo Uvicorn.