跳转至

脚本开发 / 任务上下文 DFF.CTX

DFF.CTX 是以 Task 为粒度的临时 KV 上下文。同一 Task 内的入口 Script 和被导入 Script 可以共享同一份上下文;上下文不会持久化。

API

调用 返回值 说明
DFF.CTX.has(key) bool 判断 Key 是否存在
DFF.CTX(key) / DFF.CTX.get(key) 任意值 读取指定 Key
DFF.CTX.get_all() dict 读取全部上下文
DFF.CTX.set(key, value) None 写入指定 Key
DFF.CTX.delete(key) None 删除指定 Key
DFF.CTX.clear() None 清空上下文
示例
1
2
3
4
5
6
7
8
DFF.CTX.set('trace_meta', {'source': 'api'})

if DFF.CTX.has('trace_meta'):
    meta = DFF.CTX('trace_meta')

all_context = DFF.CTX.get_all()
DFF.CTX.delete('trace_meta')
DFF.CTX.clear()

get(...)get_all() 返回独立快照。修改返回值不会更新已保存的上下文,需要再次调用 set(...)。存入的值应保持 JSON 兼容。

需要在不同 Task 之间保存状态时,应使用 DFF.STORE 或外部存储。