Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
0f7366f
feat(bioyond): 添加计算实验设计功能,支持化合物配比和滴定比例参数
ZiWei09 Nov 20, 2025
6b0b28b
feat(bioyond): 添加测量小瓶功能,支持基本参数配置
ZiWei09 Nov 21, 2025
daf4187
feat(bioyond): 添加测量小瓶配置,支持新设备参数
ZiWei09 Nov 21, 2025
c16756d
feat(bioyond): 更新仓库布局和尺寸,支持竖向排列的测量小瓶和试剂存放堆栈
ZiWei09 Nov 21, 2025
efec1dd
Merge remote-tracking branch 'upstream/dev' into hrdev
ZiWei09 Nov 21, 2025
3d62e8b
feat(bioyond): 优化任务创建流程,确保无论成功与否都清理任务队列以避免重复累积
ZiWei09 Nov 23, 2025
32bd234
feat(bioyond): 添加设置反应器温度功能,支持温度范围和异常处理
ZiWei09 Nov 23, 2025
68eddbd
feat(bioyond): 调整反应器位置配置,统一坐标格式
ZiWei09 Nov 23, 2025
7250995
feat(bioyond): 添加调度器启动功能,支持任务队列执行并处理异常
ZiWei09 Nov 26, 2025
dbe129c
feat(bioyond): 优化调度器启动功能,添加异常处理并更新相关配置
ZiWei09 Nov 26, 2025
fb6ee79
feat(opcua): 增强节点ID解析兼容性和数据类型处理
ZiWei09 Nov 26, 2025
c0e7a69
feat(registry): 新增后处理站的设备配置文件
ZiWei09 Nov 26, 2025
6d8884a
Merge remote-tracking branch 'upstream/dev' into hrdev
ZiWei09 Nov 28, 2025
4a23b05
添加调度器启动功能,合并物料参数配置,优化物料参数处理逻辑
ZiWei09 Dec 1, 2025
8efbbbe
添加从 Bioyond 系统自动同步工作流序列的功能,并更新相关配置
ZiWei09 Dec 8, 2025
c68903e
Merge branch 'dev' into hrdev
ZiWei09 Dec 8, 2025
f03ff96
Merge branch 'dev' into hrdev
ZiWei09 Dec 8, 2025
2c69e66
fix:兼容 BioyondReactionStation 中 workflow_sequence 被重写为 property
ZiWei09 Dec 10, 2025
d7c970d
fix:同步工作流序列
ZiWei09 Dec 10, 2025
632f9b9
feat: remove commented workflow synchronization from `reaction_statio…
ZiWei09 Dec 10, 2025
de662a4
Merge branch 'dev' into hrdev
ZiWei09 Dec 16, 2025
9cac852
添加时间约束功能及相关配置
ZiWei09 Dec 16, 2025
440c996
fix:自动更新物料缓存功能,添加物料时更新缓存并在删除时移除缓存项
ZiWei09 Dec 18, 2025
74d0ea3
fix:在添加物料时处理字符串和字典返回值,确保正确更新缓存
ZiWei09 Dec 22, 2025
5ae89d8
fix:更新奔曜错误处理报送为物料变更报送,调整日志记录和响应消息
ZiWei09 Dec 23, 2025
1e5f6b0
feat:添加实验报告简化功能,去除冗余信息并保留关键信息
ZiWei09 Dec 24, 2025
beaa1d7
feat: 添加任务状态事件发布功能,监控并报告任务运行、超时、完成和错误状态
ZiWei09 Dec 25, 2025
d5e0d76
fix: 修复添加物料时数据格式错误
ZiWei09 Dec 25, 2025
d57e5ff
Refactor bioyond_dispensing_station and reaction_station_bioyond YAML…
ZiWei09 Dec 25, 2025
81b28ce
Merge branch 'dev' into pr/169
ZiWei09 Dec 25, 2025
288d9fe
fix:Change the material unit from μL to mL
ZiWei09 Dec 29, 2025
93ac095
fix:refresh_material_cache
ZiWei09 Dec 29, 2025
5c249e6
feat: 动态获取工作流步骤ID,优化工作流配置
ZiWei09 Dec 31, 2025
a25e8f6
feat: 添加清空服务端所有非核心工作流功能
ZiWei09 Jan 8, 2026
6a0614c
Merge branch 'dev' into pr/169 and fix conflicts
ZiWei09 Jan 11, 2026
9753ef0
fix:修复Bottle类的序列化和反序列化方法
ZiWei09 Jan 12, 2026
9fc6781
Merge branch 'dev' into pr/169
ZiWei09 Jan 12, 2026
03423e4
feat:增强材料缓存更新逻辑,支持处理返回数据中的详细信息
ZiWei09 Jan 13, 2026
6f143b0
Add debug log
Xuwznln Jan 13, 2026
78729ef
feat(workstation): update bioyond config migration and coin cell mate…
Andy6M Jan 14, 2026
ce3f2b3
Merge branch 'dev' into pr/169
ZiWei09 Jan 14, 2026
9a06ef3
Refactor module paths for Bioyond devices in YAML configuration files
ZiWei09 Jan 14, 2026
2b04457
fix: WareHouse 的不可哈希类型错误,优化父节点去重逻辑
ZiWei09 Jan 14, 2026
a90613f
refactor: Move config from module to instance initialization
ZiWei09 Jan 14, 2026
5a5f4e0
fix: 修正 reaction_station 目录名拼写错误
ZiWei09 Jan 14, 2026
0597029
feat: Integrate material search logic and cleanup deprecated files
Andy6M Jan 15, 2026
af15ae0
Refactor: Use instance attributes for action names and workflow step IDs
ZiWei09 Jan 15, 2026
6f7adce
Merge branch 'pr/169' into workstation_YB_merge_dev_ready_260113
ZiWei09 Jan 15, 2026
b64de9b
refactor: Split tipbox storage into left and right warehouses
ZiWei09 Jan 15, 2026
cb9840b
refactor: Merge tipbox storage left and right into single warehouse
ZiWei09 Jan 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions unilabos/app/ws_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -902,28 +902,28 @@ def _notify_resource_tree(dev_id, act, item_list):
async def _handle_request_restart(self, data: Dict[str, Any]):
"""
处理重启请求

当LabGo发送request_restart时,执行清理并触发重启
"""
reason = data.get("reason", "unknown")
delay = data.get("delay", 2) # 默认延迟2秒
logger.info(f"[MessageProcessor] Received restart request, reason: {reason}, delay: {delay}s")

# 发送确认消息
if self.websocket_client:
await self.websocket_client.send_message({
"action": "restart_acknowledged",
"data": {"reason": reason, "delay": delay}
})

# 设置全局重启标志
import unilabos.app.main as main_module
main_module._restart_requested = True
main_module._restart_reason = reason

# 延迟后执行清理
await asyncio.sleep(delay)

# 在新线程中执行清理,避免阻塞当前事件循环
def do_cleanup():
import time
Expand All @@ -937,7 +937,7 @@ def do_cleanup():
logger.error("[MessageProcessor] Cleanup failed")
except Exception as e:
logger.error(f"[MessageProcessor] Error during cleanup: {e}")

cleanup_thread = threading.Thread(target=do_cleanup, name="RestartCleanupThread", daemon=True)
cleanup_thread.start()
logger.info(f"[MessageProcessor] Restart cleanup scheduled")
Expand Down Expand Up @@ -1375,15 +1375,15 @@ def publish_host_ready(self) -> None:
# 收集设备信息
devices = []
machine_name = BasicConfig.machine_name

try:
host_node = HostNode.get_instance(0)
if host_node:
# 获取设备信息
for device_id, namespace in host_node.devices_names.items():
device_key = f"{namespace}/{device_id}" if namespace.startswith("/") else f"/{namespace}/{device_id}"
is_online = device_key in host_node._online_devices

# 获取设备的动作信息
actions = {}
for action_id, client in host_node._action_clients.items():
Expand All @@ -1394,7 +1394,7 @@ def publish_host_ready(self) -> None:
"action_path": action_id,
"action_type": str(type(client).__name__),
}

devices.append({
"device_id": device_id,
"namespace": namespace,
Expand All @@ -1403,7 +1403,7 @@ def publish_host_ready(self) -> None:
"machine_name": host_node.device_machine_names.get(device_id, machine_name),
"actions": actions,
})

logger.info(f"[WebSocketClient] Collected {len(devices)} devices for host_ready")
except Exception as e:
logger.warning(f"[WebSocketClient] Error collecting device info: {e}")
Expand Down
Loading