Platform schedule guide
Cloudflare Workers Cron Triggers Guide
Schedule Cloudflare Workers with cron triggers: five-field UTC schedules, wrangler.toml examples, limits, and CronWizard export workflow.
Platform behavior reviewed against the official documentation on August 5, 2026.
- Format
- 5-field cron
- Timezone
- UTC only
- Config
- wrangler.toml [triggers] crons
- Execution
- Worker fetch handler
Overview
Cloudflare Workers can run on a cron schedule through Cron Triggers defined in wrangler.toml or the dashboard.
Triggers use standard five-field cron syntax evaluated in UTC.
Workers cron is ideal for edge maintenance, cache warming, and lightweight polling without managing a central scheduler.
Cloudflare cron format
Cron triggers accept minute, hour, day-of-month, month, and day-of-week fields.
There is no seconds field and no timezone override — always UTC.
┌───────────── minute (0-59)
│ ┌───────────── hour (0-23)
│ │ ┌───────────── day of month (1-31)
│ │ │ ┌───────────── month (1-12)
│ │ │ │ ┌───────────── day of week (0-6, Sun=0)
│ │ │ │ │
* * * * *| Field | Position | Values | Platform note |
|---|---|---|---|
| Minute | 1 | 0-59 | UTC minute. |
| Hour | 2 | 0-23 | UTC hour. |
| Day of month | 3 | 1-31 | Standard cron semantics. |
| Month | 4 | 1-12 | Numeric months. |
| Day of week | 5 | 0-6 | Sunday is 0. |
Copyable schedule examples
Every six hours UTC
0 */6 * * *
[triggers]
crons = ["0 */6 * * *"]Weekdays 09:00 UTC
0 9 * * 1-5
[triggers]
crons = ["0 9 * * 1-5"]Every 15 minutes
*/15 * * * *
Watch Workers subrequest limits at high frequency.
First day of month midnight UTC
0 0 1 * *
wrangler.toml setup
Add cron triggers and export a scheduled handler in your Worker.
name = "my-worker"
main = "src/index.ts"
[triggers]
crons = ["0 9 * * 1-5"]
export default {
async scheduled(event, env, ctx) {
// cron work
},
};Deployment checklist
- Define crons in wrangler.toml or the Cloudflare dashboard.
- Implement a scheduled() handler in your Worker.
- Deploy with wrangler deploy and verify invocations in the dashboard.
- Use CronWizard to validate expressions before editing wrangler.toml.
UTC-only evaluation
Cloudflare cron triggers always run in UTC. Convert local business hours to UTC or document the UTC equivalent in runbooks.
Use CronWizard next-run preview with timezone UTC when authoring triggers.
Limits and platform behavior
- UTC only
- No IANA timezone field on cron triggers.
- Worker limits
- CPU time and subrequest quotas apply to each invocation.
- Minimum interval
- Very aggressive schedules can hit account limits — monitor usage.
- No built-in retry semantics
- Implement idempotency in the Worker.
Production gotchas
UTC vs local
09:00 UTC is not 09:00 in Istanbul without conversion.
Cold starts
First invocation after idle may add latency.
Duplicate delivery
Design handlers to tolerate occasional retries.
Dashboard vs toml drift
Keep wrangler.toml as source of truth in git.
Frequently asked questions
Does Cloudflare Workers support Quartz cron?
No. Use five-field Unix-style cron in UTC.
Can I set a timezone?
Not on cron triggers. Convert to UTC or schedule from an external system.
Where do I test expressions?
Use the CronWizard validator and preview next UTC runs before deploy.
How do I export config?
Build the schedule in CronWizard and copy the crons array into wrangler.toml.