Improve engine customization interface (#15635)

This commit is contained in:
Lianmin Zheng
2025-12-22 14:24:16 -08:00
committed by GitHub
parent 34013d9d5a
commit 5e1a495c65
6 changed files with 195 additions and 188 deletions
+3 -19
View File
@@ -6,7 +6,6 @@ Uses GrpcRequestManager for orchestration without tokenization.
import asyncio
import dataclasses
import logging
import multiprocessing as mp
import os
import signal
import threading
@@ -792,7 +791,7 @@ async def serve_grpc(
# Start warmup in a separate thread
warmup_thread = threading.Thread(
target=_wait_and_warmup_grpc,
args=(server_args, None, health_servicer),
args=(server_args, health_servicer),
)
warmup_thread.start()
@@ -840,10 +839,7 @@ async def serve_grpc(
logger.info("All scheduler processes terminated")
def _execute_grpc_server_warmup(
server_args: ServerArgs,
pipe_finish_writer: Optional[mp.connection.Connection],
):
def _execute_grpc_server_warmup(server_args: ServerArgs):
"""Execute warmup for gRPC server by checking health and sending test request."""
try:
# Connect to the gRPC server
@@ -874,8 +870,6 @@ def _execute_grpc_server_warmup(
if not success:
error_msg = f"gRPC server warmup failed: Could not connect to server after 120 seconds. Last error: {last_error}"
logger.error(error_msg)
if pipe_finish_writer is not None:
pipe_finish_writer.send(error_msg)
channel.close()
kill_process_tree(os.getpid())
return False
@@ -938,8 +932,6 @@ def _execute_grpc_server_warmup(
except Exception as e:
error_msg = f"gRPC warmup request failed: {e}"
logger.error(error_msg)
if pipe_finish_writer is not None:
pipe_finish_writer.send(error_msg)
channel.close()
kill_process_tree(os.getpid())
return False
@@ -966,8 +958,6 @@ def _execute_grpc_server_warmup(
except Exception as e:
error_msg = f"gRPC warmup request failed: {e}"
logger.error(error_msg)
if pipe_finish_writer is not None:
pipe_finish_writer.send(error_msg)
channel.close()
kill_process_tree(os.getpid())
return False
@@ -980,8 +970,6 @@ def _execute_grpc_server_warmup(
f"gRPC warmup failed with exception: {e}\n{get_exception_traceback()}"
)
logger.error(error_msg)
if pipe_finish_writer is not None:
pipe_finish_writer.send(error_msg)
try:
channel.close()
except Exception:
@@ -992,12 +980,11 @@ def _execute_grpc_server_warmup(
def _wait_and_warmup_grpc(
server_args: ServerArgs,
pipe_finish_writer: Optional[mp.connection.Connection],
health_servicer: Optional[SGLangHealthServicer] = None,
):
"""Wait for gRPC server to be ready and execute warmup."""
if not server_args.skip_server_warmup:
if not _execute_grpc_server_warmup(server_args, pipe_finish_writer):
if not _execute_grpc_server_warmup(server_args):
return
else:
logger.info("Skipping gRPC server warmup (skip_server_warmup=True)")
@@ -1007,6 +994,3 @@ def _wait_and_warmup_grpc(
health_servicer.set_serving()
logger.info("The server is fired up and ready to roll!")
if pipe_finish_writer is not None:
pipe_finish_writer.send("ready")