diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2025-12-04 17:58:31 +0000 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2025-12-04 17:58:31 +0000 |
| commit | f639ecfac6687c9e8de4e3f305e168b2e4e1bb87 (patch) | |
| tree | cfcbf16a937a59048930ccaf8557f78ed5576bde /src/http | |
| parent | bf558b0dc17e14f96eea624ea5591315a2909154 (diff) | |
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
Diffstat (limited to 'src/http')
| -rw-r--r-- | src/http/nip11.rs | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/http/nip11.rs b/src/http/nip11.rs index e9e1c25..22e5b22 100644 --- a/src/http/nip11.rs +++ b/src/http/nip11.rs | |||
| @@ -106,6 +106,7 @@ mod tests { | |||
| 106 | metrics_connection_per_ip_abuse_threshold: 10, | 106 | metrics_connection_per_ip_abuse_threshold: 10, |
| 107 | metrics_top_n_repos: 10, | 107 | metrics_top_n_repos: 10, |
| 108 | sync_relay_url: None, | 108 | sync_relay_url: None, |
| 109 | sync_max_backoff_secs: 3600, | ||
| 109 | }; | 110 | }; |
| 110 | 111 | ||
| 111 | let doc = RelayInformationDocument::from_config(&config); | 112 | let doc = RelayInformationDocument::from_config(&config); |
| @@ -141,6 +142,7 @@ mod tests { | |||
| 141 | metrics_connection_per_ip_abuse_threshold: 10, | 142 | metrics_connection_per_ip_abuse_threshold: 10, |
| 142 | metrics_top_n_repos: 10, | 143 | metrics_top_n_repos: 10, |
| 143 | sync_relay_url: None, | 144 | sync_relay_url: None, |
| 145 | sync_max_backoff_secs: 3600, | ||
| 144 | }; | 146 | }; |
| 145 | 147 | ||
| 146 | let doc = RelayInformationDocument::from_config(&config); | 148 | let doc = RelayInformationDocument::from_config(&config); |