Backup System
The backup system proactively refreshes all cache entries to ensure data stays fresh even when the dashboard isn’t actively being viewed.How it works
- An external cron script (
apps/app/scripts/backup-cron.ts) periodically POSTs to/api/backup - The backup endpoint iterates over all projects and their integrations
- Each service fetcher is called with
forceRefresh: trueto bypass the cache - Rate-limit-aware delays are applied between calls:
- RevenueCat: 15 seconds between tasks (5 req/min limit)
- App Store Connect: 2 seconds between tasks
- All others: 500ms between tasks
Configuration
.env.local