Multiple Cron Triggers
Set multiple Cron Triggers on three different schedules.
export default {  async scheduled(event, env, ctx) {    // Write code for updating your API    switch (event.cron) {      case "*/3 * * * *":        // Every three minutes        await updateAPI();        break;      case "*/10 * * * *":        // Every ten minutes        await updateAPI2();        break;      case "*/45 * * * *":        // Every forty-five minutes        await updateAPI3();        break;    }    console.log("cron processed");  },};interface Env {}export default {  async scheduled(    controller: ScheduledController,    env: Env,    ctx: ExecutionContext,  ) {    // Write code for updating your API    switch (controller.cron) {      case "*/3 * * * *":        // Every three minutes        await updateAPI();        break;      case "*/10 * * * *":        // Every ten minutes        await updateAPI2();        break;      case "*/45 * * * *":        // Every forty-five minutes        await updateAPI3();        break;    }    console.log("cron processed");  },};import { Hono } from "hono";
interface Env {}
// Create Hono appconst app = new Hono<{ Bindings: Env }>();
// Regular routes for normal HTTP requestsapp.get("/", (c) => c.text("Multiple Cron Trigger Example"));
// Export both the app and a scheduled functionexport default {  // The Hono app handles regular HTTP requests  fetch: app.fetch,
  // The scheduled function handles Cron triggers  async scheduled(    controller: ScheduledController,    env: Env,    ctx: ExecutionContext,  ) {    // Check which cron schedule triggered this execution    switch (controller.cron) {      case "*/3 * * * *":        // Every three minutes        await updateAPI();        break;      case "*/10 * * * *":        // Every ten minutes        await updateAPI2();        break;      case "*/45 * * * *":        // Every forty-five minutes        await updateAPI3();        break;    }    console.log("cron processed");  },};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.
npx wrangler dev --test-scheduled
curl "http://localhost:8787/__scheduled?cron=*%2F3+*+*+*+*"Was this helpful?
- Resources
- API
- New to Cloudflare?
- Products
- Sponsorships
- Open Source
- Support
- Help Center
- System Status
- Compliance
- GDPR
- Company
- cloudflare.com
- Our team
- Careers
- 2025 Cloudflare, Inc.
- Privacy Policy
- Terms of Use
- Report Security Issues
- Trademark