Hébergé en UE · Conforme RGPD

Les tâches cron échouent en silence.
Plus les vôtres.

SteadyCron surveille chaque tâche planifiée — cron, sauvegardes, pipelines ETL, workers — et vous alerte par Slack, email, Telegram ou webhook dès qu’une exécution manque, échoue ou se bloque. Besoin d’héberger la planification ? Nous appelons votre endpoint à l’heure prévue.

Offre gratuite — sans carte bancaire.

app.steadycron.com/jobs

Jobs

New job
Search jobs…
All HTTP Heartbeat
Status Group: env
env:prod 5 jobs 1 failing
weekly-digest-email HTTP 0 9 * * 1 in 2 days 3 days ago
nightly-db-backup Heartbeat 0 2 * * * in 19 h 5 h ago
stripe-reconciliation HTTP 0 */4 * * * in 38 min 3 h ago
cache-warmup HTTP */15 * * * * in 11 min now
search-index-sync Heartbeat */30 * * * * in 6 min 24 min ago
env:dev 3 jobs
seed-test-data HTTP 0 4 * * * in 14 h 10 h ago
preview-env-cleanup Heartbeat 0 */6 * * * in 2 h 4 h ago
trial-expiry-sweep HTTP 0 6 * * * yesterday
Alerting

Slack, Discord, email, Telegram, webhook — escalades, heures calmes, résolution automatique.

En savoir plus Alerting
CLI

Validez, comparez et appliquez toute votre flotte de tâches depuis n’importe quel terminal ou pipeline CI.

En savoir plus CLI
API

Chaque ressource exposée par le tableau de bord — clés scoped en lecture seule ou accès complet.

En savoir plus API
Terraform

Déclarez tâches, alertes et canaux en HCL — plan, apply et import comme n’importe quel provider.

En savoir plus Terraform
GitHub Actions

Les diffs du plan s’affichent sur chaque PR ; apply au merge — aucun secret committé dans git.

En savoir plus GitHub Actions
Variables

Glissez {{secret}} dans les URLs, en-têtes ou corps — résolus côté serveur, jamais dans git.

En savoir plus Variables

Soyez informé avant vos utilisateurs

01

Détecter

Six types de déclencheurs surveillent vos jobs : échec, heartbeat manqué, exécution lente, échecs consécutifs, anomalie de charge utile et rétablissement. Chaque déclencheur est configurable par job — se déclencher au premier échec, ou seulement après trois.

02

Évaluer

Avant qu’une alerte se déclenche, des règles intelligentes s’appliquent. Les heures calmes suppriment le bruit non critique la nuit. Un garde anti-flapping détecte les jobs qui alternent rapidement entre sain et défaillant. Les seuils consécutifs attendent N échecs pour qu’un simple incident isolé ne vous réveille jamais.

03

Envoyer

Les alertes vous parviennent sur Slack, Discord, email, Telegram ou webhook — le canal dont le job a besoin. Chaque alerte se résout automatiquement quand le job se rétablit, vous n’avez jamais à accuser réception manuellement d’un incident résolu.

04

Journaliser

Chaque événement d’alerte est enregistré avec son déclencheur, son canal, son statut de livraison et la raison de sa suppression — le cas échéant. Les alertes supprimées apparaissent aussi dans le journal, vous savez toujours ce qui s’est déclenché, ce qui a été retenu, et pourquoi.

Vos cron jobs tournent déjà ? Importez-les.

Une commande convertit votre crontab ou vercel.json en manifest SteadyCron — réessais, alertes et journal d’audit complet dès le premier jour.

Or install the CLI in one command

Linux crontab

/etc/cron.d/myapp

steadycron — bash
$ steadycron import crontab /etc/cron.d/myapp -o crontab.yaml
Parsed 3 entries → weekly-digest · nightly-backup · health-sweep
$ steadycron apply crontab.yaml --namespace prod
apply complete · 3 created

Migrer depuis Linux crontab en deux commandes

Exécutez steadycron import crontab sur n’importe quel fichier cron et SteadyCron convertit chaque entrée en un manifest YAML versionné — schedule, utilisateur et commande mappés automatiquement. Ensuite, steadycron apply provisionne les jobs. Chaque exécution est journalisée avec son statut de réponse, les réessais se déclenchent sur les erreurs transitoires, et un ping manqué vous alerte avant la rotation de vos logs.

Guide de migration

Vercel Cron

vercel.json

steadycron — bash
$ steadycron import vercel \
--base-url https://api.myapp.com -o vercel.yaml
Parsed 3 entries → send-digest · backup · health
Authorization: Bearer ${CRON_SECRET} (resolved at apply time, never in git)
$ steadycron apply vercel.yaml --namespace prod --env-file .env
apply complete · 3 created

Dépassez les limites de planification de Vercel

Dirigez steadycron import vercel vers votre projet et il lit chaque entrée cron depuis vercel.json. Les secrets comme CRON_SECRET sont écrits comme des placeholders ${CRON_SECRET} — jamais résolus dans le manifest, jamais commités dans git. Exécutez steadycron apply et vos jobs sont en ligne : n’importe quelle fréquence, fuseaux horaires par job, et changements de schedule sans redéploiement.

Guide de migration

Vous préférez les pull requests aux dashboards ?

Chaque tâche, moniteur, canal et règle d’alerte peut être déclaré en manifest YAML ou en Terraform — validé en local, planifié en CI, appliqué au merge. Entièrement optionnel, et toujours synchronisé avec le tableau de bord.

Découvrir le workflow cron-as-code
namespace: production
channels:
- id: ops-slack
kind: slack
webhook: ${SLACK_WEBHOOK_URL}
jobs:
- id: weekly-digest
kind: http
method: POST
url: https://api.example.com/jobs/digest
schedule: "0 9 * * 1"
timezone: Europe/Berlin
retries: 3
channel: ops-slack
- id: nightly-backup
kind: http
method: POST
url: https://api.example.com/backup
schedule: "0 2 * * *"
timezone: Europe/Berlin
timeout: 300
retries: 3
channel: ops-slack
- id: stripe-reconcile
kind: http
method: POST
url: https://api.example.com/finance/reconcile
schedule: "0 6 * * *"
timezone: Europe/Berlin
headers:
Authorization: "Bearer {{stripe_token}}"
channel: ops-slack
- id: health-sweep
kind: http
method: GET
url: https://api.example.com/health
schedule: "*/15 * * * *"
timeout: 10
YAML

Vos questions, nos réponses

Puis-je surveiller des tâches cron qui tournent sur mes propres serveurs ?

Oui. Ajoutez un heartbeat et faites envoyer un ping à votre tâche lorsqu’elle se termine (un simple curl à la fin de votre script). Si le ping n’arrive pas à l’heure prévue, SteadyCron vous alerte. Cela fonctionne depuis n’importe quel langage ou shell — sauvegardes, pipelines ETL et workers compris.

En quoi est-ce différent de Healthchecks.io ?

Healthchecks excelle dans la surveillance heartbeat. SteadyCron fait les deux moitiés — il exécute vos tâches HTTP et surveille les heartbeats depuis un seul tableau de bord — et il est hébergé en UE avec des workflows infrastructure-as-code intégrés.

Où mes données sont-elles stockées ?

Tout tourne sur l’infrastructure Hetzner en Allemagne, sous droit allemand. L’exécution principale n’utilise aucun sous-traitant américain, et un DPA RGPD est disponible.

SteadyCron remplace-t-il AWS EventBridge ou le cron de Cloudflare/Vercel ?

Pour les tâches HTTP planifiées, oui. SteadyCron appelle votre point de terminaison à l’heure prévue, avec réessais, délais d’expiration et journaux complets requête/réponse — sans vous enfermer dans un cloud. La surveillance et les alertes sont au même endroit.

Des offres simples et honnêtes

Aucuns frais par exécution. Aucune ligne cachée. Facturé en EUR.

Free €0 forever Developer €10 per month Team €30 per month
HTTP jobs 5 50 250
Heartbeats 10 100 500
Min frequency 15 min 1 min 10 sec
Alert channels Email
Telegram
Webhook
+Slack · Discord +Escalation
Quiet hours
CLI tool
Full IaC
Log entries 50 1,000 10,000
Start Free

Offre gratuite — sans carte bancaire.