Migrer depuis Vercel cron
Importer les entrées cron de vercel.json dans un manifeste SteadyCron en une seule commande — supprimer les restrictions une-fois-par-jour et UTC uniquement de Vercel.
Le plan hobby de Vercel limite les cron jobs à une fois par jour en UTC. Même sur les plans
payants, les planifications sont liées à vercel.json — les modifier nécessite un redéploiement,
il n’y a pas de relances, et les logs sont maigres sans alertes.
steadycron import vercel convertit les entrées cron de vercel.json en manifeste SteadyCron
en une seule commande.
Démarrage rapide
# 1. Générer le manifeste (lit vercel.json dans le répertoire courant)
steadycron import vercel \
--base-url https://app.example.com \
--cron-secret-env CRON_SECRET \
-o steadycron.yaml
# 2. Vérifier et valider
steadycron validate steadycron.yaml
# 3. Définir le secret et appliquer
echo "CRON_SECRET=votre-secret-ici" > secrets.env
steadycron apply steadycron.yaml --env-file secrets.env --namespace prod
Fonctionnement
L’importeur lit vercel.json (ou un chemin fourni en premier argument) et émet un job
http GET par entrée cron, avec l’URL complète construite depuis --base-url + chemin et
timezone: UTC.
--cron-secret-env NOM — au lieu d’incorporer la valeur du secret, le manifeste émet :
headers:
Authorization: Bearer ${CRON_SECRET}
L’espace réservé ${…} est résolu à l’heure du sync/apply via --env-file ou
l’environnement du processus. Le manifeste ne contient jamais le secret.
--dry-run — prévisualiser ce qui serait généré sans écrire de fichier.
Après la migration
Une fois que SteadyCron gère un job, supprimez (ou commentez) l’entrée correspondante dans
vercel.json et redéployez — pour éviter de déclencher deux fois le même endpoint.
Ensuite, resserrez vos planifications et définissez des fuseaux horaires par job — deux capacités que Vercel n’expose pas.
Ce que vous gagnez
| Vercel cron | SteadyCron | |
|---|---|---|
| Intervalle minimum | Une fois par jour (hobby) | Configurable (selon le plan) |
| Fuseau horaire | UTC uniquement | Par job, avec gestion DST |
| Relances en cas d’échec | Aucune | Oui — configurable |
| Application des timeouts | Aucune | Oui — par job |
| Monitoring heartbeat | Non | Oui |
| Alertes | Non | Email, Slack, Discord, Telegram, webhook |
| Modifier le planning | Éditer vercel.json + redéployer | Tableau de bord, CLI ou YAML — sans redéploiement |
| Journal d’exécution | Logs de plateforme, éphémères | Statut, body et durée par exécution |
Prochaines étapes
- Workflow IaC — référence CLI complète
- Configuration CI/CD — plan sur PR, application au merge
- Monitoring heartbeat — surveiller aussi les scripts serveur