Von Vercel Cron migrieren

Vercel.json-Cron-Einträge mit einem einzigen Befehl in ein SteadyCron-Manifest importieren — Vercels Einschränkung auf einmal täglich und UTC-only entfernen.

Vercels Hobby-Plan beschränkt Cron-Jobs auf einmal täglich in UTC. Selbst auf bezahlten Plänen sind Zeitpläne an vercel.json gebunden — Änderungen erfordern ein Redeploy, es gibt keine Wiederholungsversuche, und die Logs sind dünn ohne Alarmierung.

steadycron import vercel konvertiert Ihre vercel.json-Cron-Einträge mit einem einzigen Befehl in ein SteadyCron-Manifest.

Schnellstart

# 1. Manifest generieren (liest vercel.json im aktuellen Verzeichnis)
steadycron import vercel \
  --base-url https://app.example.com \
  --cron-secret-env CRON_SECRET \
  -o steadycron.yaml

# 2. Überprüfen und validieren
steadycron validate steadycron.yaml

# 3. Secret setzen und anwenden
echo "CRON_SECRET=ihr-secret-hier" > secrets.env
steadycron apply steadycron.yaml --env-file secrets.env --namespace prod

Wie es funktioniert

Der Importer liest vercel.json (oder einen als erstes Argument übergebenen Pfad) und gibt pro Cron-Eintrag einen http GET-Job aus. Die vollständige URL wird aus --base-url + Pfad gebaut, mit timezone: UTC.

--cron-secret-env NAME — anstatt den Secret-Wert einzubetten, gibt das Manifest aus:

headers:
  Authorization: Bearer ${CRON_SECRET}

Der ${…}-Platzhalter wird zur sync/apply-Zeit über --env-file oder die Prozessumgebung aufgelöst. Das Manifest selbst enthält niemals den Secret.

--dry-run — Vorschau der generierten Ausgabe, ohne eine Datei zu schreiben.

Nach der Migration

Sobald SteadyCron einen Job übernimmt, entfernen (oder kommentieren Sie aus) den entsprechenden Eintrag aus vercel.json und deployen Sie neu — um ein doppeltes Auslösen desselben Endpunkts zu verhindern.

Danach können Sie Zeitpläne verschärfen und jobspezifische Zeitzonen setzen — beides sind Funktionen, die Vercel nicht bietet.

Was Sie gewinnen

Vercel CronSteadyCron
MindestintervallEinmal täglich (Hobby)Konfigurierbar (je nach Tarif)
ZeitzoneNur UTCPro Job, mit Sommerzeit
WiederholungsversucheKeineJa — konfigurierbar
Timeout-DurchsetzungKeineJa — pro Job
Heartbeat-MonitoringNeinJa
AlarmierungNeinE-Mail, Slack, Discord, Telegram, Webhook
Zeitplan ändernvercel.json bearbeiten + RedeployDashboard, CLI oder YAML — kein Redeploy
AusführungsprotokollPlattform-Logs, vergänglichStatus, Body und Dauer pro Lauf

Nächste Schritte