fix multiple instance error

This commit is contained in:
Xuwznln
2025-10-24 02:24:44 +08:00
parent 1d4018196d
commit 85590672d8

View File

@@ -595,11 +595,12 @@ class BaseROS2DeviceNode(Node, Generic[T]):
if "spot" in spec.parameters: if "spot" in spec.parameters:
additional_params["spot"] = site additional_params["spot"] = site
old_parent = plr_resource.parent old_parent = plr_resource.parent
if old_parent is not None: # if old_parent is not None:
self.lab_logger().warning( # # plr并不支持同一个deck的加载和卸载
f"物料{plr_resource}请求从{old_parent}卸载" # self.lab_logger().warning(
) # f"物料{plr_resource}请求从{old_parent}卸载"
plr_resource.unassign_child_resource(plr_resource) # )
# plr_resource.unassign_child_resource(plr_resource)
parent_resource.assign_child_resource( parent_resource.assign_child_resource(
plr_resource, location=None, **additional_params plr_resource, location=None, **additional_params
) )
@@ -675,7 +676,7 @@ class BaseROS2DeviceNode(Node, Generic[T]):
f"物料{plr_resource} 原始父节点{original_parent_resource_uuid} 目标父节点{target_parent_resource_uuid} 更新" f"物料{plr_resource} 原始父节点{original_parent_resource_uuid} 目标父节点{target_parent_resource_uuid} 更新"
) )
if original_parent_resource_uuid != target_parent_resource_uuid and original_parent_resource is not None: if original_parent_resource_uuid != target_parent_resource_uuid and original_parent_resource is not None:
self.transfer_to_new_resource(plr_resource, tree, additional_add_params) self.transfer_to_new_resource(original_instance, tree, additional_add_params)
original_instance.load_all_state(states) original_instance.load_all_state(states)
self.lab_logger().info( self.lab_logger().info(
f"更新了资源属性 {plr_resource}[{tree.root_node.res_content.uuid}] 及其子节点 {len(original_instance.get_all_children())}" f"更新了资源属性 {plr_resource}[{tree.root_node.res_content.uuid}] 及其子节点 {len(original_instance.get_all_children())}"