diff --git a/unilabos/app/main.py b/unilabos/app/main.py index e565f86d..295069c5 100644 --- a/unilabos/app/main.py +++ b/unilabos/app/main.py @@ -139,6 +139,11 @@ def parse_args(): action="store_true", help="跳过启动时的环境依赖检查", ) + parser.add_argument( + "--direct_end", + action="store_true", + help="直接结束任务", + ) return parser @@ -212,6 +217,7 @@ def main(): # 设置BasicConfig参数 BasicConfig.working_dir = working_dir + BasicConfig.direct_end = args_dict.get("direct_end", False) BasicConfig.is_host_mode = not args_dict.get("without_host", False) BasicConfig.slave_no_host = args_dict.get("slave_no_host", False) BasicConfig.upload_registry = args_dict.get("upload_registry", False) diff --git a/unilabos/config/config.py b/unilabos/config/config.py index 44bcc25a..510ac6b4 100644 --- a/unilabos/config/config.py +++ b/unilabos/config/config.py @@ -17,6 +17,7 @@ class BasicConfig: machine_name = "undefined" vis_2d_enable = False enable_resource_load = True + direct_end = False # MQTT配置 diff --git a/unilabos/ros/nodes/presets/host_node.py b/unilabos/ros/nodes/presets/host_node.py index 5fe90684..84534065 100644 --- a/unilabos/ros/nodes/presets/host_node.py +++ b/unilabos/ros/nodes/presets/host_node.py @@ -619,6 +619,9 @@ class HostNode(BaseROS2DeviceNode): goal_uuid: 目标UUID,如果为None则自动生成 server_info: 服务器发送信息,包含发送时间戳等 """ + if BasicConfig.direct_end: + raise ValueError("direct_end") + if action_type.startswith("UniLabJsonCommand"): if action_name.startswith("auto-"): action_name = action_name[5:]