Improve engine customization interface (#15635)
This commit is contained in:
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user