-
Notifications
You must be signed in to change notification settings - Fork 0
[S6] Implement scheduled reconciliation (daily cron) #63
Copy link
Copy link
Open
Labels
github-integrationGitHub App + Action integrationGitHub App + Action integrationqueueBullMQ / async processingBullMQ / async processingreconcilerReconciliation engineReconciliation enginesprint-6Sprint 6: PR Validation & Scheduled ReconciliationSprint 6: PR Validation & Scheduled Reconciliation
Description
Description
BullMQ repeatable job that runs reconciliation for all active installations daily.
Implementation
- BullMQ repeatable job: cron
0 2 * * *(02:00 UTC daily) - Job iterates all active installations → all active repo configs
- Enqueues individual reconciliation jobs for each repo config
- Stagger jobs (add random delay per job) to avoid GitHub API rate limit spikes
Rate Limit Management
- Track
X-RateLimit-Remainingfrom GitHub API responses - If remaining < 100, pause processing and wait until reset time
- Log rate limit warnings
Acceptance Criteria
- Cron job runs daily at 02:00 UTC
- All active repos are reconciled
- Rate limits are respected
- Staggered processing prevents burst API usage
- Certs expiring within threshold are renewed
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
github-integrationGitHub App + Action integrationGitHub App + Action integrationqueueBullMQ / async processingBullMQ / async processingreconcilerReconciliation engineReconciliation enginesprint-6Sprint 6: PR Validation & Scheduled ReconciliationSprint 6: PR Validation & Scheduled Reconciliation