← 全部文章

修改流程节点后,哪些结果需要重算

把实际依赖记录、why-stale 和最小重算接起来,并把流程内容哈希纳入 cache key。

修改流程定义里的一个节点后,整图重跑比较容易实现,但会重复执行仍然有效的步骤。要少跑一些,先得知道结果依赖了什么。

六月二十四号那一周,把三部分接到了一起:provenance 记录实际读取的内容,why-stale 说明哪些结果已过期,最小重算只执行需要更新的部分。cache key 也纳入流程定义的内容哈希,避免定义变化后仍命中旧结果。

审查中还调整过跨 run 的默认行为、不可缓存的类型和报告内容。少调用几次模型的前提,是不能复用已经失效的结果。

后来我常用 /tf why-stale 查看重算原因。知道一个结果为什么过期,才方便检查这一轮重跑的范围。