Migrer depuis EasyCron

Migrez vos jobs URL EasyCron vers SteadyCron pas à pas — recréez chaque job dans un manifeste YAML, faites tourner les deux en parallèle, puis coupez EasyCron.

EasyCron appelle vos URL selon un planning. SteadyCron fait de même — et ajoute des réessais avec backoff, des timeouts par job, le monitoring heartbeat, des alertes Slack, Discord, Telegram, e-mail et webhook, ainsi qu’un workflow YAML/Terraform pour versionner vos plannings dans git plutôt que dans un dashboard.

Il n’existe pas de fichier d’export EasyCron à importer : la migration est une courte boucle manuelle — recréer chaque job, faire tourner les deux côte à côte, couper l’ancien.

1. Listez vos jobs EasyCron

Dans le dashboard EasyCron, notez pour chaque cron job :

  • l’URL (et la méthode HTTP si ce n’est pas un simple GET)
  • l’expression cron et le fuseau horaire
  • les headers ou l’authentification attendus par l’endpoint

2. Recréez chaque job dans un manifeste

steadycron manifest add job ajoute les jobs un par un à steadycron.yaml — il valide le résultat et ne touche jamais aux entrées existantes :

steadycron manifest add job --kind http --name nightly-report --schedule "0 2 * * *"

Ou écrivez le manifeste directement :

jobs:
  - id: nightly-report
    name: Nightly report
    kind: http
    method: GET
    url: https://app.example.com/tasks/nightly-report
    schedule: "0 2 * * *"
    timezone: Europe/Paris
    retries: 3
    headers:
      Authorization: Bearer ${CRON_SECRET}   # résolu depuis --env-file à l'apply

Puis validez et appliquez :

steadycron validate steadycron.yaml
steadycron apply steadycron.yaml --env-file secrets.env --namespace prod

3. Faites tourner les deux en parallèle, puis basculez

Laissez SteadyCron et EasyCron appeler l’endpoint un jour ou deux (tâche idempotente, ou décalez les plannings de quelques minutes). Une fois des runs verts dans le journal d’exécution, mettez en pause ou supprimez le job EasyCron.

Ce que vous gagnez

EasyCronSteadyCron
Réessais en cas d’échecLimités, selon le planConfigurables, backoff exponentiel
TimeoutsSelon le planPar job
Monitoring heartbeat de vos propres cronsNonOui
Canaux d’alerteE-mail, webhookE-mail, Slack, Discord, Telegram, webhook
Plannings dans git (YAML / Terraform)NonOui — validate, plan, apply
HébergementUSAUE (RGPD natif, DPA signé)

Étapes suivantes

  • YAML & CLI — le workflow manifeste complet
  • Jobs HTTP — request builder, réessais, timeouts
  • Alertes — router les échecs vers le bon canal