diff --git a/fastdeploy/entrypoints/api_server.py b/fastdeploy/entrypoints/api_server.py index d848cb916..215ddac32 100644 --- a/fastdeploy/entrypoints/api_server.py +++ b/fastdeploy/entrypoints/api_server.py @@ -70,7 +70,10 @@ def cleanup_engine(): def signal_handler(signum, frame): """Handle SIGINT and SIGTERM signals""" - sig_name = "SIGINT" if signum == signal.SIGINT else "SIGTERM" + try: + sig_name = signal.Signals(signum).name + except (ValueError, AttributeError): + sig_name = f"Signal({signum})" api_server_logger.info(f"Received {sig_name}, initiating graceful shutdown...") cleanup_engine() # Let uvicorn handle the actual exit diff --git a/fastdeploy/entrypoints/openai/api_server.py b/fastdeploy/entrypoints/openai/api_server.py index 8be298ccb..bae7ffc37 100644 --- a/fastdeploy/entrypoints/openai/api_server.py +++ b/fastdeploy/entrypoints/openai/api_server.py @@ -135,7 +135,10 @@ def cleanup_processes(): def signal_handler(signum, frame): """Handle SIGINT and SIGTERM signals""" - sig_name = "SIGINT" if signum == signal.SIGINT else "SIGTERM" + try: + sig_name = signal.Signals(signum).name + except (ValueError, AttributeError): + sig_name = f"Signal({signum})" api_server_logger.info(f"Received {sig_name}, initiating graceful shutdown...") shutdown_event.set() cleanup_processes()