长时间运行任务
在 Lybic 沙箱中处理长时间运行任务的指南
在 Lybic 沙箱中,你可能需要运行一些长期执行的任务,如模型训练、数据处理、Web 服务器、异步应用环境等。由于 execSandboxProcess API 有超时限制且不支持后台运行,
我们推荐使用系统中内置的任务调度和后台运行机制来执行这类任务。
execSandboxProcess API 限制
lybic 提供的 execSandboxProcess API 适用于执行短时间运行的命令和脚本,但它有以下限制:
- 超时限制:进程运行时间超过 5 秒会被自动终止
- 前台执行:无法在后台运行程序,API 调用会阻塞直到进程结束
- 进程管理:不支持进程的独立管理和监控
系统原生内置的任务调度和后台运行机制
- ✅ 突破超时限制:任务可以运行任意长时间
- ✅ 状态查看:可以查询任务运行状态、查看日志输出
- ✅ 进程隔离:任务的父进程从 Lybic 服务转移到系统作业管理器或任务计划程序,独立于 API 调用生命周期
在 Windows 下使用 PowerShell 后台任务可以解决这些问题:
- ✅ 后台运行:任务作为独立的后台作业或计划任务运行
- ✅ 多种实现方式:支持 PowerShell Jobs、Scheduled Tasks、Start-Process 等多种方式
而Linux下使用 systemd-run --user 可以解决这些问题:
- ✅ 后台运行:任务作为独立的 systemd 单次任务(transient unit)运行
- ✅ 资源管理:可以设置 CPU、内存等资源限制