Wparse

运行模式

  • 两种运行模式:wparse daemon(常驻服务)和 wparse batch(批处理)
  • 批处理模式读完文件后自动退出,daemon 模式需信号触发退出

命令行参数

wparse <COMMAND>

Commands:
  daemon  守护进程模式(常驻服务)
  batch   批处理模式(读完即退)

通用参数

参数短选项长选项默认值说明
parse_workers-w--parse-workers-解析线程数
stat_sec---stat-统计输出间隔(秒)
stat_print-p--print_statfalse周期打印统计信息
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 指令
  • 致命错误(触发全局停机)

进程退出流程:

  1. 所有数据源的 picker 结束
  2. 主组完成
  3. sink/infra 组依序下线
  4. 进程退出

关键日志:

  • 每个源结束:数据源 '...' picker 正常结束
  • 全局收尾:all routine group await end!

守护进程模式(daemon)

  • 启动 acceptor(网络监听等)
  • 进程保持常驻运行
  • 退出触发方式:
    • SIGTERM/SIGINT/SIGQUIT 信号
    • 控制总线 Stop 指令(企业版)

错误与重试策略

错误类型策略说明
EOFTerminate优雅结束当前源
断线/可重试FixRetry指数退避后继续
数据/业务可容忍Tolerant记录后继续
致命错误Throw触发全局停机

常见问题

Q:为什么 batch 下不启动 acceptor?

A:acceptor 是常驻组件(监听网络),会阻塞主组完成。batch 目标是"源结束 → 主组完成 → 进程退出"。