跳轉到

指令碼開發 / 任務上下文 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 或外部儲存。