跳转到内容

执行与任务状态

调用 workspace_create,提供 repository、完整 40 位 commit 和唯一 idempotencyKey。 返回 workspaceId 和 operationId 后,查询 workspace_status,等待 READY 再执行。

当前支持仓库 https://github.com/octocat/Hello-World.git,示例 commit: 7fd1a60b01f91b314f59955a4e4d4e80d8edf11d。不支持 LFS、submodule 或私有仓库凭据。

通过 execution_submit 提交 argv 数组,例如 ['python3', '-c', "print('hello')"]。 命令不会隐式经过 shell。使用返回的 executionId 调用 execution_get,查询状态和分页日志。

状态 含义
ACCEPTED / STARTING / RUNNING 已受理、正在启动或执行中
SUCCEEDED 进程成功退出
FAILED 进程失败退出
CANCELLED / TIMED_OUT 已取消或达到时长限制
UNKNOWN / INTERRUPTED 结果不明或执行被中断,需要明确处置

执行成功不代表文件已经保存为恢复点。任务完成后再发布产物、保存 checkpoint。

所有变更使用 idempotencyKey。重试同一请求时保持相同键与内容;同键不同内容会冲突。 网络超时后先查询原任务,不要用新键自动重跑 UNKNOWN 任务。

执行、写文件和保存恢复点共享一个工作区写槽。查询与取消不占用写槽。 默认执行 300 秒,上限 1800 秒,实际受管理员策略约束。

execution_cancel 表示请求取消,仍需查询任务终态。取消不会回滚已经产生的文件修改 或外部副作用,必要时服务会停止实例并要求恢复。

日志有长度上限,通过 cursor 分页读取。归档后的日志在实例停止后仍可访问。