Skip to main content

Setting Cron Triggers

还没翻译译自英文(developers.cloudflare.com)本页 12 段都还没译

JavaScriptTypeScriptPythonHono

export default {
	async scheduled(controller, 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:

wrangler.jsoncwrangler.toml

{
	"$schema": "./node_modules/wrangler/config-schema.json",
	"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:

wrangler.jsoncwrangler.toml

{
	"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 /cdn-cgi/local/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.

npx wrangler dev --test-scheduled

curl "http://localhost:8787/cdn-cgi/local/scheduled?cron=*+*+*+*+*" # Python Workers