04-oracle-sync-job.md 1.0 KB

Tarantool → Oracle 同步 Job

开关与 Cron

Key 默认 说明
meter.monitor.sync.enabled false 显式开启才调度
meter.monitor.sync.cron 0 */1 * * * ? 每分钟

对齐 StatusSyncScheduler 模式。

流程

  1. 单飞锁(AtomicBoolean),重叠则跳过。
  2. 从 Tarantool 扫描 _dirty == true 的行(select 后过滤或专用 index)。
  3. 解码为 List<MeterWorkMonitor>
  4. 逐条调用 meterWorkMonitorMapper.updateByPrimaryKeySelective
  5. 成功行:update_dirty=false
  6. 记录成功/失败条数日志。

MeterWorkMonitorSyncScheduler ...meterworkmonitor.scheduler
MeterWorkMonitorSyncService ...meterworkmonitor.service(或同包 service 子包)

监控建议

  • 每次同步耗时、dirty 数量、Oracle 失败条数。
  • dirty 长期堆积时检查 Oracle 连通性或 batch SQL。