diff --git a/.changeset/ninety-trainers-attack.md b/.changeset/ninety-trainers-attack.md new file mode 100644 index 0000000000..bf6ebb2e83 --- /dev/null +++ b/.changeset/ninety-trainers-attack.md @@ -0,0 +1,7 @@ +--- +"create-cloudflare": patch +--- + +fix: provide a simple fetch handler to the scheduled template to avoid confusing error messages. + +Fixes #4560 diff --git a/packages/create-cloudflare/templates/scheduled/js/package.json b/packages/create-cloudflare/templates/scheduled/js/package.json index 717bd9e05a..e7f74854e7 100644 --- a/packages/create-cloudflare/templates/scheduled/js/package.json +++ b/packages/create-cloudflare/templates/scheduled/js/package.json @@ -4,8 +4,8 @@ "private": true, "scripts": { "deploy": "wrangler deploy", - "dev": "wrangler dev", - "start": "wrangler dev" + "dev": "wrangler dev --test-scheduled", + "start": "wrangler dev --test-scheduled" }, "devDependencies": { "wrangler": "^3.0.0" diff --git a/packages/create-cloudflare/templates/scheduled/js/src/index.js b/packages/create-cloudflare/templates/scheduled/js/src/index.js index 8fd7b202e0..44d267c5e9 100644 --- a/packages/create-cloudflare/templates/scheduled/js/src/index.js +++ b/packages/create-cloudflare/templates/scheduled/js/src/index.js @@ -6,13 +6,20 @@ * https://developers.cloudflare.com/workers/platform/triggers/cron-triggers/ * * - Run `npm run dev` in your terminal to start a development server - * - Open a browser tab at http://localhost:8787/ to see your worker in action + * - Run `curl "http://localhost:8787/__scheduled?cron=*+*+*+*+*"` to see your worker in action * - Run `npm run deploy` to publish your worker * * Learn more at https://developers.cloudflare.com/workers/ */ export default { + async fetch(req) { + const url = new URL(req.url) + url.pathname = "/__scheduled"; + url.searchParams.append("cron", "* * * * *"); + return new Response(`To test the scheduled handler, ensure you have used the "--test-scheduled" then try running "curl ${url.href}".`); + }, + // The scheduled handler is invoked at the interval set in our wrangler.toml's // [[triggers]] configuration. async scheduled(event, env, ctx) { diff --git a/packages/create-cloudflare/templates/scheduled/ts/package.json b/packages/create-cloudflare/templates/scheduled/ts/package.json index 32f380e7ba..e384f667e8 100644 --- a/packages/create-cloudflare/templates/scheduled/ts/package.json +++ b/packages/create-cloudflare/templates/scheduled/ts/package.json @@ -4,8 +4,8 @@ "private": true, "scripts": { "deploy": "wrangler deploy", - "dev": "wrangler dev", - "start": "wrangler dev", + "dev": "wrangler dev --test-scheduled", + "start": "wrangler dev --test-scheduled", "cf-typegen": "wrangler types" }, "devDependencies": { diff --git a/packages/create-cloudflare/templates/scheduled/ts/src/index.ts b/packages/create-cloudflare/templates/scheduled/ts/src/index.ts index b7a8c46792..fc6bd87dd5 100644 --- a/packages/create-cloudflare/templates/scheduled/ts/src/index.ts +++ b/packages/create-cloudflare/templates/scheduled/ts/src/index.ts @@ -6,7 +6,7 @@ * https://developers.cloudflare.com/workers/platform/triggers/cron-triggers/ * * - Run `npm run dev` in your terminal to start a development server - * - Open a browser tab at http://localhost:8787/ to see your worker in action + * - Run `curl "http://localhost:8787/__scheduled?cron=*+*+*+*+*"` to see your worker in action * - Run `npm run deploy` to publish your worker * * Bind resources to your worker in `wrangler.toml`. After adding bindings, a type definition for the