批处理 (batch)
将多个消息批量合并为一个数组消息,或按时间/数量分组。
输入
- payload (any): 要批处理的消息内容
输出
- payload (array): 批量合并后的消息数组
详细说明
批处理节点用于将一组消息收集成数组后一次性输出,支持按数量、时间、间隔等方式分组。
配置选项
- 分组方式: 按消息数量、时间间隔、间隔消息
- 分组大小: 每组包含的消息数量
- 超时: 等待消息的最大时间
- 丢弃不完整批次: 可选,是否丢弃未满的批次
示例
按数量分组
javascript
// 配置:每5条消息分为一组
// 输入5次
msg.payload = 1;
...
msg.payload = 5;
// 输出
msg.payload = [1,2,3,4,5];
按时间分组
javascript
// 配置:每10秒输出一次
// 10秒内收到的所有消息合并为数组输出
丢弃不完整批次
javascript
// 配置:每3条为一组,丢弃不满3条的批次
应用场景
- 批量数据处理
- 周期性数据上报
- 日志收集
注意事项
- 批处理大小和超时需合理设置
- 丢弃不完整批次时注意数据丢失
- 批处理节点会缓存消息,注意内存占用