(Verne Clockwork · Cron-as-a-Service)

Cron-Jobs für Apps, die auf mehr als einer Instanz laufen Serverlose Hintergrundjobs, ein Lauf pro Zeitplan, vollständig protokolliert

Schluss mit Crontab-Verwaltung auf fragilen Instanzen. Clockwork bietet API-gesteuerte, serverlose Hintergrundjobs mit automatischen Wiederholungen, einem Log jedes Laufs und null Doppelausführungen — egal wie viele Instanzen Sie betreiben.

curl -X POST https://api.vernesoft.com/v1/clockwork/jobs \
  -H "Authorization: Bearer vrn_clockwork_•••" \
  -d '{"name":"billing","schedule":"0 0 1 * *","url":"https://api.yourdomain.com/billing"}'

(Die lokale Crontab-Falle)

Warum traditionelle Crontabs in verteilten Systemen versagen

Einen lokalen Cron-Daemon auf einem VPS zu betreiben ist einfach — bis Sie skalieren. Bei mehreren Instanzen führen traditionelle Crons zu Race Conditions, überlappenden Ausführungen und stillen Fehlern.

Traditionelles / internes Cron

  • Race Conditions: Mehrere Instanzen lösen dasselbe Abrechnungsskript gleichzeitig aus.
  • Stille Fehler: Keine eingebaute Alarmierung, wenn ein Job nicht ausgeführt wird.
  • Keine Wiederholungen: Schlägt ein Lauf fehl, versucht es nichts erneut bis zum nächsten Termin.
  • Fest kodierte Zeitpläne erfordern vollständige Anwendungs-Deployments für Änderungen.

Verne Software Clockwork

  • Verteilte Locks garantieren Einmalausführung im gesamten Cluster.
  • Keine stillen Fehler: Jeder Trigger wird mit der zurückgegebenen Antwort protokolliert.
  • Automatische Wiederholungen, mit protokolliertem Ergebnis jedes Versuchs.
  • Dynamisches Schedule-Management über die REST-API — keine Redeployments nötig.

(Kernfunktionen)

Präzisionstechnik für Hintergrundjobs

(01)

Ein Lauf pro Zeitplan

Jeder fällige Lauf wird in der Datenbank beansprucht, bevor er ausgelöst wird — ein zweiter Worker findet ihn bereits vergeben. Ein Trigger pro geplantem Slot, auch wenn Ihre Architektur auf 100 Instanzen skaliert.

(02)

Dynamische API-Steuerung

Erstellen, pausieren, aktualisieren oder löschen Sie Zeitpläne programmatisch. Lassen Sie Ihre Nutzer eigene Hintergrundaufgaben direkt aus Ihrem SaaS-Dashboard definieren.

(03)

Wiederholungen, die Deployments überstehen

Ein fehlgeschlagener Lauf wird bis zu dreimal wiederholt — nach einer Minute, dann nach fünf. Der Wiederholungsstatus liegt beim Job statt im Speicher, sodass eine ausstehende Wiederholung einen Worker-Neustart oder ein Deployment übersteht.

(04)

Minutengenaue Planung

Der Scheduler wacht jede Minute auf und löst aus, was fällig ist. Jeder Lauf wird aus dem Cron-Ausdruck selbst berechnet, sodass Zeitpläne nicht driften wie eine selbstgebaute Intervallschleife.

(05)

Observability & Logs

Vollständige Audit-Trails für jeden Trigger. Sehen Sie genau, wann ein Job ausgelöst wurde, welche Payload gesendet wurde und welche Antwort eingegangen ist.

(06)

Standard-Cron-Syntax

Standard-POSIX-Cron-Ausdrücke mit fünf Feldern, aufgelöst in UTC. Jeder Zeitplan wird bei der Erstellung validiert, sodass ein Ausdruck, der nie auslösen könnte, sofort abgelehnt wird, statt still nie zu laufen.

(Nautilus-Ökosystem)

Die perfekte Ergänzung zu Verne Relay

Clockwork kümmert sich um das Wann, Relay um das Wie. Nutzen Sie Clockwork für geplante Events und leiten Sie diese über Relay zur sicheren Zustellung mit exponentiellem Backoff weiter. Sichern Sie die gesamte Pipeline mit Auth.

Clockwork (Timer fires)Relay (Retries & fan-out)Client Application

(Entwicklererfahrung)

Job über die API planen

Verwalten Sie wiederkehrende Aufgaben dynamisch in jeder Sprache. Geben Sie einfach einen Cron-Ausdruck und den Ziel-Endpoint an.

curl -X POST https://api.vernesoft.com/v1/clockwork/jobs \
  -H "Authorization: Bearer $VERNE_CLOCKWORK_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Monthly Billing Run",
    "schedule": "0 0 1 * *",
    "url": "https://api.yourdomain.com/billing/process",
    "method": "POST",
    "body": "{\"batch\":\"auto\"}"
  }'

(FAQ)

Häufig gestellte Fragen

Wie verhindert Clockwork doppelte Ausführungen?

Jeder fällige Lauf wird per bedingtem Update in der Datenbank beansprucht, bevor etwas ausgelöst wird: Ein zweiter Worker, der denselben Job sieht, findet die Zeile bereits fortgeschritten und tut nichts. Das ergibt einen Trigger pro geplantem Slot, egal wie viele Instanzen Sie betreiben. Die Zustellung selbst erfolgt mindestens einmal — ein fehlgeschlagener Versuch wird wiederholt — machen Sie Ihren Endpoint also idempotent und nutzen Sie den Header X-Clockwork-Attempt, um Seiteneffekte abzusichern.

Was passiert, wenn der Ziel-Endpoint beim Cron-Trigger nicht erreichbar ist?

Jeder Lauf erhält bis zu drei Versuche: den ersten, dann Wiederholungen nach einer und nach fünf Minuten. Netzwerkfehler, 5xx und 429 werden wiederholt; andere 4xx-Antworten nicht, da ein identischer Versuch dieselbe Antwort erhielte. Jeder Versuch wird mit der zurückgegebenen Antwort protokolliert, und eine ausstehende Wiederholung übersteht einen Worker-Neustart.

Kann ich einmalige Aufgaben (Delayed Jobs) planen?

Ja. Neben wiederkehrenden Cron-Ausdrücken unterstützt die Clockwork-API präzise Zeitstempel-Planung für einmalige Aufgaben — zum Beispiel eine E-Mail 24 Stunden nach der Registrierung senden.

Wir nutzen bereits Vercel Cron, Supabase pg_cron oder GitHub Actions — warum wechseln?

Jedes davon ist innerhalb seiner Plattform gut und endet an deren Rand. Vercel Cron plant Vercel-Funktionen, und der kostenlose Tarif ist bewusst eng geschnitten. pg_cron läuft in Ihrer Supabase-Datenbank und erreicht nur, was die Datenbank erreicht. GitHub Actions plant über eine Best-Effort-Queue und kann laut eigener Dokumentation unter Last verspätet auslösen. Clockwork ruft jeden HTTPS-Endpoint auf jedem Host auf, nach Ihrem Zeitplan, mit einem Ausführungslog pro Lauf.

Wie teste ich einen Job, ohne auf seinen Zeitplan zu warten?

Legen Sie mit POST /v1/clockwork/delayed einen Delayed Job eine Minute in der Zukunft an, beobachten Sie ihn im Ausführungslog und löschen Sie ihn wieder. Ein einmaliger Lauf nutzt denselben Worker und dieselben Logs wie ein wiederkehrender.

Gibt es einen kostenlosen Tarif?

Ja — 3.000 API-Anfragen pro Monat über alle Engines hinweg, Cron inklusive, ohne Kreditkarte. Danach kosten 10.000 Anfragen 3 €, und ein monatliches Ausgabenlimit hält die Rechnung im Rahmen.

(Jetzt starten)

Übernehmen Sie die Kontrolle über Ihre Hintergrundjobs

Befreien Sie sich von Crontab-Sorgen. Bauen Sie heute zuverlässige, skalierbare und beobachtbare geplante Aufgaben für Ihre Plattform.

Wann Sie das nicht brauchen

Wenn Sie eine Anwendung auf einer Maschine betreiben, ist crontab völlig in Ordnung und sollte bleiben. Dasselbe gilt für Arbeit, die ihre Plattform nie verlässt: Vercel Cron passt zu einer Vercel-Funktion, pg_cron passt zu einem Job, der nur Ihre Supabase-Datenbank berührt, und ein GitHub-Actions-Zeitplan reicht für eine nächtliche Aufgabe, die auch später laufen darf.

Clockwork verdient seinen Platz an der Grenze, an der das aufhört — und diese Grenze kommt früher als gedacht. Die zweite Instanz, auf der zwei Kopien desselben crontab denselben Abrechnungslauf doppelt starten. Der Job, der einen Dienst auf einem anderen Host aufrufen muss. Der Zeitplan, den Ihre eigenen Kunden im Dashboard setzen. Der Lauf, der um 03:00 Uhr scheiterte, ohne dass jemand davon erfuhr.

Genau diese vier Fälle beantwortet Clockwork: eine Ausführung pro Zeitplan, egal wie viele Instanzen Sie deployen, jeder HTTPS-Endpoint auf jedem Host, Zeitpläne per API angelegt und wieder gelöscht, und ein Log jedes Triggers samt der Antwort, die er bekam. Die ersten 3.000 Anfragen pro Monat sind kostenlos.