From f639ecfac6687c9e8de4e3f305e168b2e4e1bb87 Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Thu, 4 Dec 2025 17:58:31 +0000 Subject: feat(sync): Phase 3 - resilience and health tracking - Add RelayHealthTracker with DashMap - Implement exponential backoff (5s -> 1h max) - Handle dead relays (24h failures -> daily retry) - Add startup jitter to prevent thundering herd - Add NGIT_SYNC_MAX_BACKOFF_SECS config --- src/main.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index 31e7cf6..9273afd 100644 --- a/src/main.rs +++ b/src/main.rs @@ -51,13 +51,14 @@ async fn main() -> Result<()> { config.domain ); - // Start SyncManager for proactive sync (Phase 2: multi-relay support) + // Start SyncManager for proactive sync (Phase 2: multi-relay support, Phase 3: health tracking) // Even without initial sync_relay_url, SyncManager can discover relays from stored announcements let sync_manager = SyncManager::new( config.sync_relay_url.clone(), config.domain.clone(), relay_with_db.database.clone(), relay_with_db.write_policy.clone(), + &config, ); if config.sync_relay_url.is_some() { -- cgit v1.2.3