1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
`execgo-runtime` 是 ExecGo 的**执行后端(数据面)**:接收任务描述、落盘、调度执行,并通过 HTTP 暴露状态与运维接口。控制面(如 ExecGo 自身)通过 HTTP 与本服务交互,**不直接** fork 用户进程。
任务在数据库中的 `status` 取值(JSON 中为 snake_case):
- --
终态任务在 `limits` 与保留策略下可被 **GC** 删除(见 `serve` 的 `--result-retention-secs` 等参数)。
1. 2.3.4.5.6.
运行时重启后,`recover` 会扫描非终态任务:`accepted` 不应持有活动 reservation,若发现会释放;`running` 若 shim 仍在则保留或重建 reservation 并标记恢复事件,否则标记为失败、释放 reservation 并落盘结果。
在 `--data-dir` 下:
- - - - - -
数据库中任务行还持久化 `execution_plan_json`、`control_context_json`、`reservation_json`、`reserved_at_ms`、`released_at_ms`,用于能力审计、恢复对账与资源释放。
- -
详见 [api.md](api.md) 中的沙箱字段说明。
`GET /metrics` 输出 Prometheus 文本指标,包括按状态任务数、错误码分布、以及基于历史 `duration_ms` 的直方图近似(实现见 `metrics.rs`)。