Wparse
运行模式
- 两种运行模式:
wparse daemon(常驻服务)和wparse batch(批处理) - 批处理模式读完文件后自动退出,daemon 模式需信号触发退出
命令行参数
wparse <COMMAND>
Commands:
daemon 守护进程模式(常驻服务)
batch 批处理模式(读完即退)
通用参数
| 参数 | 短选项 | 长选项 | 默认值 | 说明 |
|---|---|---|---|---|
| parse_workers | -w | --parse-workers | - | 解析线程数 |
| stat_sec | - | --stat | - | 统计输出间隔(秒) |
| stat_print | -p | --print_stat | false | 周期打印统计信息 |
| wpl_dir | - | --wpl | - | WPL 规则目录覆盖 |
使用示例
# 批处理模式:处理 3000 条后退出,每 2 秒输出统计
wparse batch -n 3000 --stat 2 -p
# 批处理模式:指定工作目录和多线程
wparse batch -w 4 --parse-workers 4
# 守护进程模式:常驻服务,每 5 秒输出统计
wparse daemon --stat 5 -p
# 自定义日志和规则目录
wparse daemon --log-profile custom.toml --wpl /custom/rules
退出策略
批处理模式(batch)
单源(picker)结束条件(任一满足):
- 上游 EOF(文件读取完毕)
- 收到 Stop 指令
- 致命错误(触发全局停机)
进程退出流程:
- 所有数据源的 picker 结束
- 主组完成
- sink/infra 组依序下线
- 进程退出
关键日志:
- 每个源结束:
数据源 '...' picker 正常结束 - 全局收尾:
all routine group await end!
守护进程模式(daemon)
- 启动 acceptor(网络监听等)
- 进程保持常驻运行
- 退出触发方式:
- SIGTERM/SIGINT/SIGQUIT 信号
- 控制总线 Stop 指令(企业版)
错误与重试策略
| 错误类型 | 策略 | 说明 |
|---|---|---|
| EOF | Terminate | 优雅结束当前源 |
| 断线/可重试 | FixRetry | 指数退避后继续 |
| 数据/业务可容忍 | Tolerant | 记录后继续 |
| 致命错误 | Throw | 触发全局停机 |
常见问题
Q:为什么 batch 下不启动 acceptor?
A:acceptor 是常驻组件(监听网络),会阻塞主组完成。batch 目标是"源结束 → 主组完成 → 进程退出"。