The first wall you hit scheduling work on Cloudflare Workers is the free plan's cron trigger cap: five per account. Cut one cron per purpose in a single service and you reach five fast — and there's nothing left for another service on the same account.

The fix is simple: collapse cron into one per-minute schedule and branch on time inside scheduled(). That runs six different schedules while spending a single cron trigger. I did this on a price watcher I built, so here are the essentials.

One per-minute cron, branching on time inside the tick

Register a single * * * * * (per-minute) cron and, in the handler, decide what runs this minute.

export const CRON_TICK = '* * * * *'; // keep in sync with wrangler.toml crons