Sandbox Instance 从创建到停止经历四个概念阶段,每个阶段对应不同的用户可执行操作和状态转移条件。本文覆盖生命周期全貌、状态含义、超时行为和
StopReason 枚举。概念阶段与公开状态值
为区分“概念阶段”和“接口返回的状态值”,本文先用四个概念阶段组织生命周期,再单列公开状态枚举。
概念阶段 | 说明 |
创建阶段 | 创建请求已被接受,实例仍在启动,尚未进入稳定可用状态。 |
运行阶段 | 实例处于稳定可用状态,可以连接、调用或调整生存时间。 |
暂停阶段 | 实例暂时不再执行工作,需恢复后才能回到运行阶段。 |
终止阶段 | 实例已停止或进入不可恢复的终态。 |
公开状态值
状态值 | 所属阶段 | 说明 |
STARTING | 创建阶段 | 创建请求已受理,实例仍在启动。 |
RUNNING | 运行阶段 | 实例处于稳定可用状态。 |
PAUSING | 暂停阶段 | 实例正在进入暂停。 |
PAUSED | 暂停阶段 | 实例已暂停,可查询,可按恢复流程继续处理。 |
RESUMING | 暂停阶段 | 实例正在从暂停恢复。 |
RESUME_FAILED | 暂停阶段 | 恢复未成功,后续处理以接口返回和恢复文档为准。 |
STOPPING | 终止阶段 | 实例正在停止。 |
STOPPED | 终止阶段 | 实例已停止,不能恢复为当前会话继续使用。 |
FAILED | 终止阶段 | 实例进入失败终态。 |
STARTING_FAILED | 终止阶段 | 启动未成功,未进入 RUNNING。 |
STOPPING_FAILED | 终止阶段 | 停止流程未成功,具体处置以接口返回和停止文档为准。 |
生命周期转移
概念阶段 | 用户可观察现象 | 可执行操作 | 典型转移条件 | 超时说明 |
创建阶段 | 创建接口已返回 InstanceId,实例仍在启动;查询接口通常先返回 STARTING。 | 查询实例详情或实例列表。 | 启动成功 → RUNNING;启动失败 → STARTING_FAILED 或其他终态。 | 创建请求传入超时时,返回结果包含 TimeoutSeconds 和 ExpiresAt;实例进入稳定状态后开始倒计时。 |
运行阶段 | 实例可用,支持连接、调用或调整生存时间。 | 显式暂停 → PAUSING/PAUSED;显式停止 → STOPPING/STOPPED;到期 → 停止。 | 可通过创建或更新入口设置超时。实际剩余时间、到期时间以接口返回的 TimeoutSeconds、ExpiresAt、StopReason 为准。 | |
暂停阶段 | 实例已暂停,不可按运行态继续工作;查询返回 PAUSED,恢复期间短暂返回 RESUMING。 | 恢复成功 → RUNNING;恢复失败 → RESUME_FAILED;也可转入终止阶段。 | 恢复后如需调整超时,以恢复或更新入口的实际返回为准;是否支持调整请参见对应操作文档。 | |
终止阶段 | 实例已结束运行,不能恢复为当前会话继续使用。 | 查询实例状态、按需删除实例记录;如需继续运行,请重新创建实例。 | 显式停止、超时、系统回收或错误都会进入该阶段。 | 停止后不再累计运行超时; StopReason 可区分手动、超时、错误或系统停止。 |
各阶段关键规则
创建阶段 → 运行阶段
创建成功后接口先返回实例标识和初始状态,随后实例才进入
RUNNING。创建阶段不应假设访问 Token、连接能力或业务端口已经可用。
启动失败时实例不会进入
RUNNING,而是停留在失败终态(如 STARTING_FAILED)。运行阶段 → 暂停阶段
暂停与恢复能力请参见 暂停与恢复 Sandbox Instance。
查询接口支持按状态过滤运行中和已暂停的实例。
暂停不是删除。暂停后实例仍保留标识,可继续查询,也可在后续恢复。
暂停阶段 → 运行阶段
当前公开恢复路径要求实例处于
PAUSED 后再执行恢复。对非暂停实例调用恢复会返回
OperationDenied.InvalidInstanceStateResume。恢复失败时状态可能变为
RESUME_FAILED,应按恢复文档或停止文档继续处理。进入终止阶段
停止后实例不再适合执行新的工作负载。
STOPPED 是终态,不能恢复到原会话继续使用。如需继续使用同类环境,请重新创建实例;停止后的实例只适合查询状态或清理记录。
注意:
实例进入终止阶段后,相关资源(如网络端口、访问 Token)将失效。如果业务依赖持久化数据,请在停止前通过文件系统或快照完成数据备份。
超时字段
字段 | 含义 | 何时使用 |
TimeoutSeconds | 当前实例有效期(秒)。 | 判断实例本轮还能运行多久。 |
ExpiresAt | 当前有效期的到期时间。 | 与外部任务调度或预期会话时间对齐。 |
UpdateTime | 最近一次状态或配置变更时间。 | 排查实例是否发生过暂停、恢复、停止或超时更新。 |
补充说明:
创建实例时可显式传入超时时间;不传时,最终值取决于所使用入口和关联 Tool 配置。
不同入口可能允许在运行中或恢复时调整超时;是否支持、参数形态和最终生效值以对应操作文档和接口返回为准。
到达
ExpiresAt 后实例通常离开运行阶段;若接口返回 StopReason=timeout,可据此确认是超时结束。StopReason 枚举
实例进入终止阶段后,接口可能返回
StopReason 字段,取值如下:StopReason | 含义 | 典型场景 |
manual | 手动停止 | 用户显式调用停止接口。 |
timeout | 超时停止 | 实例运行到 ExpiresAt 后自动结束。 |
error | 错误停止 | 启动、运行或恢复过程中出现错误,实例无法继续服务。 |
system | 系统停止 | 由系统回收、维护或其他平台级动作触发。 |
使用建议:
排查实例终止原因时,优先同时查看
Status、StopReason 和 UpdateTime。Status=STOPPED 且 StopReason=timeout 时,通常不需要追查业务错误,应检查超时配置是否过短。StopReason=manual 说明停止来自显式用户操作,而非平台自动回收。相关文档
停止与超时
修改运行中实例