File tree Expand file tree Collapse file tree 2 files changed +17
-1
lines changed Expand file tree Collapse file tree 2 files changed +17
-1
lines changed Original file line number Diff line number Diff line change 1- __version__ = "v0.75 .0"
1+ __version__ = "v0.76 .0"
22
33
44def get_sdk_version () -> str :
Original file line number Diff line number Diff line change 1+ import logging
2+ import signal
3+ from typing import Any
4+
15from unstract .sdk .tool .base import BaseTool
26from unstract .sdk .tool .executor import ToolExecutor
37from unstract .sdk .tool .parser import ToolArgsParser
48
9+ logger = logging .getLogger (__name__ )
510
611class ToolEntrypoint :
712 """Class that contains methods for the entrypoint for a tool."""
813
14+ @staticmethod
15+ def _signal_handler (signum : int , frame : Any ) -> None :
16+ """Handle SIGTERM and SIGINT signals."""
17+ sig = signal .Signals (signum )
18+ signal_name = sig .name
19+ logger .info ("Received %s signal" , signal_name )
20+
921 @staticmethod
1022 def launch (tool : BaseTool , args : list [str ]) -> None :
1123 """Entrypoint function for a tool.
@@ -17,6 +29,10 @@ def launch(tool: BaseTool, args: list[str]) -> None:
1729 tool (AbstractTool): Tool to execute
1830 args (List[str]): Arguments passed to a tool
1931 """
32+ # Register signal handlers for graceful shutdown
33+ signal .signal (signal .SIGTERM , ToolEntrypoint ._signal_handler )
34+ signal .signal (signal .SIGINT , ToolEntrypoint ._signal_handler )
35+
2036 parsed_args = ToolArgsParser .parse_args (args )
2137 executor = ToolExecutor (tool = tool )
2238 executor .execute (parsed_args )
You can’t perform that action at this time.
0 commit comments