ff_backend_postgres/reconcilers/mod.rs
1//! Postgres-backend scanner reconcilers (RFC-v0.7 Wave 6).
2//!
3//! These modules implement the Postgres twins of the Valkey scanners
4//! in `ff-engine::scanner::*`. Each reconciler is a single
5//! `reconcile_tick(pool, filter, ...)` function the engine's scanner
6//! task drives on a fixed interval.
7//!
8//! Wave 6a ships the dependency reconciler — the backstop for the
9//! per-hop-tx dispatch cascade from Wave 5a.
10
11pub mod attempt_timeout;
12pub mod budget_reset;
13pub mod delayed_promoter;
14pub mod dependency;
15pub mod edge_cancel_dispatcher;
16pub mod edge_cancel_reconciler;
17pub mod execution_deadline;
18pub mod lease_expiry;
19pub mod pending_wp_expiry;
20pub mod suspension_timeout;
21
22/// Result of scanning one partition. Mirrors
23/// [`ff_engine::scanner::ScanResult`] so engine-side aggregation code
24/// stays identical across backends; kept here (not re-exported from
25/// ff-engine) so `ff-backend-postgres` does not take a dep on the
26/// engine crate. The engine's `scan_tick_pg` wrapper maps one to the
27/// other.
28#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
29pub struct ScanReport {
30 pub processed: u32,
31 pub errors: u32,
32}