diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2026-01-07 12:12:49 +0000 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2026-01-07 12:12:49 +0000 |
| commit | 18bfb246029a848a0b307e7c8a8e4df57addabb2 (patch) | |
| tree | 1ca8977edecdab10973415b222d2d7e1a2d12e7c /src/purgatory/sync/functions.rs | |
| parent | fc9f1e282b16bc373c3913973879b43d3f254eb2 (diff) | |
Add background sync loop for purgatory identifier processing
Implement the main sync loop that runs in the background and processes
identifiers that are ready for git data synchronization:
- Runs every 1 second (hardcoded interval, not configurable)
- Finds all ready identifiers where !in_progress && next_attempt <= now
- Spawns parallel tasks for each ready identifier
- Each task calls sync_identifier to try fetching git data from remotes
- Applies backoff when sync completes but events remain in purgatory
- Removes identifiers from queue when sync completes or no events remain
The loop integrates with the existing sync infrastructure:
- Uses SyncContext trait for testability
- Uses ThrottleManager for domain-based rate limiting
- Uses sync_identifier for the actual fetch orchestration
This enables automatic background fetching of git data for events in
purgatory, complementing the existing push-triggered sync path.
Diffstat (limited to 'src/purgatory/sync/functions.rs')
0 files changed, 0 insertions, 0 deletions