函数动作·批量(Batched Execution)
当同一个函数动作被一批触发时,默认是一次请求调一次函数。这一篇讲如何把它改成 一次执行吃下整批,以提升性能、规避编辑冲突。
https://www.palantir.com/docs/foundry/action-types/function-actions-batched-execution/
原始标题:Action types · Function-backed actions · Batched execution
一句话速览
函数动作·批量(Batched Execution):当同一个函数动作被一批触发时,默认是一次请求调一次函数。这一篇讲如何把它改成 一次执行吃下整批,以提升性能、规避编辑冲突。
一句话:让一次执行吃下整批调用
批量执行 = 把整批动作调用合并进一次函数执行。
当一个动作被批量触发时——例如在 Workshop 的行内编辑(inline edits)里,或在 Automate 里——背后的函数通常每个请求依次调用一次,并且所有编辑会在动作调用结束时原子地(atomically)应用。
也就是说,存在另一种选择:配置函数一次性接收整批,在一次执行里处理完所有调用。这常用于优化性能或规避编辑冲突。
默认行为 vs 批量配置
两种模式,按需取舍。
如何启用批量执行
函数必须接收一个"包含 struct 列表"的单一参数。
要启用批量执行,函数必须接收一个输入参数,而这个参数包含一个 struct 的列表 (也常被称为 "map" 或 "dictionary")。
单条调用 vs 批次调用
看列表参数里有几个 entry。
关键区别:无论单条还是批次,都是"一次函数执行";差别只在列表参数里 entry 的数量。 这让批量场景的开销从"N 次执行"降到"1 次执行"。
示例:从逐条到批量
把"逐对象"的签名改成"收列表"的签名。
默认逐条的写法(一次处理一个 flight 与 destination):
改成批量写法(一次收下整批,在单次执行里遍历处理):
把函数改成接收 {flight, destination}[] 这样的列表后,就能在配置动作类型时启用批量执行,
让整批请求合并进这一次函数执行。
动手:关于批量执行,哪句对?
逐个判断。点选项看解析。
一页带走
延伸阅读 · 相关页面
按主题横向跳转,不必顺着目录一篇篇读。
常见问题速答 · FAQ
关于「函数动作·批量(Batched Execution)」,读者最常问的几个问题。