Unverified Commit 808632d3 authored by Yang, Bo's avatar Yang, Bo Committed by GitHub
Browse files

[BugFix] Prevent the task of `_force_log` from being garbage collected (#4567)

parent 344a5d0c
......@@ -4,6 +4,7 @@ import inspect
import re
from contextlib import asynccontextmanager
from http import HTTPStatus
from typing import Any, Set
import fastapi
import uvicorn
......@@ -33,6 +34,8 @@ openai_serving_chat: OpenAIServingChat
openai_serving_completion: OpenAIServingCompletion
logger = init_logger(__name__)
_running_tasks: Set[asyncio.Task[Any]] = set()
@asynccontextmanager
async def lifespan(app: fastapi.FastAPI):
......@@ -43,7 +46,9 @@ async def lifespan(app: fastapi.FastAPI):
await engine.do_log_stats()
if not engine_args.disable_log_stats:
asyncio.create_task(_force_log())
task = asyncio.create_task(_force_log())
_running_tasks.add(task)
task.add_done_callback(_running_tasks.remove)
yield
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment