mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2026-02-04 13:25:13 +00:00
* add biomek.py demo implementation * 更新LiquidHandlerBiomek类,添加资源创建功能,优化协议创建方法,修复部分代码格式问题,更新YAML配置以支持新功能。 * Test * fix biomek success type * Convert LH action to biomek. * Update biomek.py * 注册表上报handle和schema (param input) * 修复biomek缺少的字段 * delete 's' * Remove warnings * Update biomek.py * Biomek test * Update biomek.py * 新增transfer_biomek的msg * New transfer_biomek * Updated transfer_biomek * 更新transfer_biomek的msg * 更新transfer_biomek的msg * 支持Biomek创建 * new action * fix key name typo * New parameter for biomek to run. * Refine * Update * new actions * new actions * 1 * registry * fix biomek startup add action handles * fix handles not as default entry * biomek_test.py biomek_test.py是最新的版本,运行它会生成complete_biomek_protocol.json * Update biomek.py * biomek_test.py * fix liquid_handler.biomek handles * host node新增resource add时间统计 create_resource新增handle bump version to 0.9.2 * 修正物料上传时间 改用biomek_test 增加ResultInfoEncoder 支持返回结果上传 * 正确发送return_info结果 * 同步执行状态信息 * 取消raiseValueError提示 * Update biomek_test.py * 0608 DONE * 同步了Biomek.py 现在应可用 * biomek switch back to non-test * temp disable initialize resource * Refine biomek * Refine copy issue * Refine --------- Co-authored-by: Junhan Chang <changjh@pku.edu.cn> Co-authored-by: Guangxin Zhang <guangxin.zhang.bio@gmail.com> Co-authored-by: qxw138 <qxw@stu.pku.edu.cn>
23 lines
606 B
Python
23 lines
606 B
Python
import asyncio
|
|
import traceback
|
|
from asyncio import get_event_loop
|
|
|
|
from unilabos.utils.log import error
|
|
|
|
|
|
def run_async_func(func, *, loop=None, trace_error=True, **kwargs):
|
|
if loop is None:
|
|
loop = get_event_loop()
|
|
|
|
def _handle_future_exception(fut):
|
|
try:
|
|
fut.result()
|
|
except Exception as e:
|
|
error(f"异步任务 {func.__name__} 报错了")
|
|
error(traceback.format_exc())
|
|
|
|
future = asyncio.run_coroutine_threadsafe(func(**kwargs), loop)
|
|
if trace_error:
|
|
future.add_done_callback(_handle_future_exception)
|
|
return future
|