Idempotent Scheduling Checklist for Reliable Job RetriesIdempotent Scheduling Checklist for Reliable Job Retries
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
A schedule that retries blindly will double-charge, double-email, and double-write.
Before you flip on a cron job (n8n, Railway cron, or a Next.js scheduled route), run this checklist:
1. Stable idempotency key — one key per logical job (order_id + day), not a random UUID
2. Unique constraint in Postgres — conflict means skip, not a boolean race
3. Claim, then work — mark claimed in the same transaction as the key insert
4. Backoff with a ceiling — jitter + max attempts, then park it
5. Timeout every external call — a hung cron is worse than a failed one
6. Overlap lock — if the previous run is still live, skip or queue
7. Replay-safe logs + dead-letter — alert on failure, replay still respects the same key
Read-only syncs can retry freely. Payments, emails, CRM writes, and Slack posts need a key first.
Which of these do your scheduled jobs still skip?
Post image
Back to feed
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started