[CI Bug] Fix Async Engine, Inputs, Utils, Worker Test: 'State' object has no attribute 'enable_server_load_tracking' (#20845)

Signed-off-by: yewentao256 <zhyanwentao@126.com>
This commit is contained in:
Wentao Ye 2025-07-11 21:57:24 -04:00 committed by GitHub
parent 5f0af36af5
commit 7b828e30d5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -33,10 +33,12 @@ async def listen_for_disconnect(request: Request) -> None:
while True:
message = await request.receive()
if message["type"] == "http.disconnect":
if request.app.state.enable_server_load_tracking:
# on timeout/cancellation the BackgroundTask in load_aware_call
# cannot decrement the server load metrics.
# Must be decremented by with_cancellation instead.
# If load tracking is enabled *and* the counter exists, decrement
# it. Combines the previous nested checks into a single condition
# to satisfy the linter rule.
if (getattr(request.app.state, "enable_server_load_tracking",
False)
and hasattr(request.app.state, "server_load_metrics")):
request.app.state.server_load_metrics -= 1
break
@ -101,9 +103,14 @@ def load_aware_call(func):
raise ValueError(
"raw_request required when server load tracking is enabled")
if not raw_request.app.state.enable_server_load_tracking:
if not getattr(raw_request.app.state, "enable_server_load_tracking",
False):
return await func(*args, **kwargs)
# ensure the counter exists
if not hasattr(raw_request.app.state, "server_load_metrics"):
raw_request.app.state.server_load_metrics = 0
raw_request.app.state.server_load_metrics += 1
try:
response = await func(*args, **kwargs)