# Tarantool → Oracle 同步 Job ## 开关与 Cron | Key | 默认 | 说明 | |-----|------|------| | `meter.monitor.sync.enabled` | `false` | 显式开启才调度 | | `meter.monitor.sync.cron` | `0 */1 * * * ?` | 每分钟 | 对齐 [`StatusSyncScheduler`](../../../src/main/java/com/steerinfo/abnormalHandler/scheduler/StatusSyncScheduler.java) 模式。 ## 流程 1. 单飞锁(`AtomicBoolean`),重叠则跳过。 2. 从 Tarantool 扫描 `_dirty == true` 的行(`select` 后过滤或专用 index)。 3. 解码为 `List`。 4. 逐条调用 `meterWorkMonitorMapper.updateByPrimaryKeySelective`。 5. 成功行:`update` 清 `_dirty=false`。 6. 记录成功/失败条数日志。 ## 类 | 类 | 包 | |----|-----| | `MeterWorkMonitorSyncScheduler` | `...meterworkmonitor.scheduler` | | `MeterWorkMonitorSyncService` | `...meterworkmonitor.service`(或同包 service 子包) | ## 监控建议 - 每次同步耗时、dirty 数量、Oracle 失败条数。 - dirty 长期堆积时检查 Oracle 连通性或 batch SQL。