Edge Computing with Cloudflare Workers & Deno · Lektion

Cron Triggers und geplante Workers

Führen Sie Cloudflare Workers mithilfe von Cron Triggers nach einem Zeitplan aus, um wiederkehrende Hintergrundaufgaben am Edge zu automatisieren.

Lektion 4 von 413 Schritte

Cron Triggers und geplante Workers ist eine kostenlose Edge Computing with Cloudflare Workers & Deno-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Edge Computing with Cloudflare Workers & Deno-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Edge Computing with Cloudflare Workers & Deno-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

Why Scheduled Workers?

Beyond responding to HTTP requests, Workers can run on a schedule using Cron Triggers.

This is perfect for recurring jobs such as:

  • Cleaning up stale data in KV or D1
  • Sending daily report emails
  • Refreshing cached API responses
  • Aggregating analytics

No always-on server required, the Worker simply wakes up, runs, and goes back to sleep.

The scheduled() Handler

A scheduled Worker exports a scheduled() handler instead of (or alongside) fetch().

Cloudflare invokes it automatically at the times you define in cron expressions.

export default {
  async scheduled(event, env, ctx) {
    console.log('Triggered at: ' + event.scheduledTime);
  }
};

Configuring Cron in wrangler.toml

Cron schedules live in your wrangler.toml under the [triggers] section.

You can declare multiple cron expressions, each one fires the same scheduled() handler.

[triggers]
crons = ["0 * * * *", "*/15 * * * *"]

Cron Expression Syntax

Cloudflare cron expressions have five fields: minute, hour, day-of-month, month, day-of-week.

  • 0 0 * * * means midnight UTC every day
  • */5 * * * * means every 5 minutes
  • 0 9 * * 1 means 09:00 UTC every Monday

All times are in UTC.

Distinguishing Multiple Crons

When you register several cron schedules, use event.cron to tell which one fired.

This lets one Worker handle many jobs.

export default {
  async scheduled(event, env, ctx) {
    if (event.cron === '0 0 * * *') {
      await runDailyCleanup(env);
    } else if (event.cron === '*/15 * * * *') {
      await refreshCache(env);
    }
  }
};

Using waitUntil for Long Tasks

Just like in fetch(), the ctx.waitUntil() method keeps the Worker alive until a promise resolves.

Use it to ensure background async work completes before the invocation ends.

async scheduled(event, env, ctx) {
  ctx.waitUntil(syncRemoteData(env));
}

Accessing Bindings in scheduled()

The env argument exposes all your bindings: KV, D1, R2, Queues, secrets.

A scheduled cleanup might delete expired KV keys.

async scheduled(event, env, ctx) {
  const list = await env.MY_KV.list({ prefix: 'session:' });
  for (const key of list.keys) {
    await env.MY_KV.delete(key.name);
  }
}

Testing Crons Locally

Wrangler lets you test scheduled handlers without waiting for the real schedule.

Run wrangler dev and trigger via the test endpoint, or use the CLI flag.

wrangler dev --test-scheduled
# then visit:
# http://localhost:8787/__scheduled?cron=0+*+*+*+*

Combining fetch() and scheduled()

A single Worker can export both handlers.

This is handy when the same logic serves HTTP requests and runs on a timer.

export default {
  async fetch(request, env) {
    return new Response('Hello from fetch');
  },
  async scheduled(event, env, ctx) {
    console.log('Hello from cron');
  }
};

Monitoring Scheduled Runs

Cron invocations appear in the Cloudflare dashboard and in wrangler tail logs.

Watch for failures, a thrown error means the job did not complete, and there is no automatic retry for cron triggers.

wrangler tail --format pretty

Limits & Best Practices

Keep scheduled jobs efficient:

  • Stay within CPU time limits, offload heavy work to Queues
  • Make jobs idempotent so reruns are safe
  • Avoid sub-minute schedules unless necessary
  • Log results for observability

Quick Check

Which property tells you which cron schedule triggered the handler?

Recap

You learned how to run Workers on a schedule:

  • Export a scheduled() handler
  • Define schedules in [triggers] crons
  • Use five-field UTC cron expressions
  • Route with event.cron and keep work alive with ctx.waitUntil()
  • Test with --test-scheduled and monitor with wrangler tail

Cron Triggers turn Workers into reliable edge-native background job runners.

Kostenlos starten

Lerne Edge Computing with Cloudflare Workers & Deno mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
12
Lektionen
47

Häufig gestellte Fragen

Ist die Lektion „Cron Triggers und geplante Workers“ kostenlos?

Ja — der vollständige Text von „Cron Triggers und geplante Workers“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Edge Computing with Cloudflare Workers & Deno-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Edge Computing with Cloudflare Workers & Deno-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Cron Triggers und geplante Workers“?

Führen Sie Cloudflare Workers mithilfe von Cron Triggers nach einem Zeitplan aus, um wiederkehrende Hintergrundaufgaben am Edge zu automatisieren. Du übst Edge Computing with Cloudflare Workers & Deno mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Edge Computing with Cloudflare Workers & Deno zu starten?

Keine Vorkenntnisse erforderlich. Edge Computing with Cloudflare Workers & Deno auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Cron Triggers und geplante Workers“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Edge Computing with Cloudflare Workers & Deno-Lektion Code schreiben und ausführen?

Ja. Jede Edge Computing with Cloudflare Workers & Deno-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. WebSockets und Echtzeit
  2. Queues und asynchrone Aufgaben
  3. Service Bindings und Integrationen
  4. Cron Triggers und geplante Workers
← Zurück zu Edge Computing with Cloudflare Workers & Deno