[BugFix] Prevent the task of _force_log from being garbage collected (#4567)
This commit is contained in:
parent
344a5d0c33
commit
808632d3b4
@ -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
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user