Skip to content

Setting Cron Triggers

Set a Cron Trigger for your Worker.

export default {
async scheduled(event, env, ctx) {
console.log("cron processed");
},
};

Set Cron Triggers in Wrangler

Refer to Cron Triggers for more information on how to add a Cron Trigger.

If you are deploying with Wrangler, set the cron syntax (once per hour as shown below) by adding this to your Wrangler file:

{
"name": "worker",
"triggers": {
"crons": [
"0 * * * *"
]
}
}

You also can set a different Cron Trigger for each environment in your Wrangler configuration file. You need to put the [triggers] table under your chosen environment. For example:

{
"env": {
"dev": {
"triggers": {
"crons": [
"0 * * * *"
]
}
}
}
}

Test Cron Triggers using Wrangler

The recommended way of testing Cron Triggers is using Wrangler.

Cron Triggers can be tested using Wrangler by passing in the --test-scheduled flag to wrangler dev. This will expose a /__scheduled route which can be used to test using a HTTP request. To simulate different cron patterns, a cron query parameter can be passed in.

Terminal window
npx wrangler dev --test-scheduled
curl "http://localhost:8787/__scheduled?cron=0+*+*+*+*"