Migrar desde EasyCron

Traslada tus jobs de URL de EasyCron a SteadyCron paso a paso — recrea cada job en un manifiesto YAML, ejecuta ambos en paralelo y luego apaga EasyCron.

EasyCron llama a tus URL según un plan. SteadyCron hace lo mismo — y añade reintentos con backoff, timeouts por job, monitorización heartbeat, alertas por Slack, Discord, Telegram, email y webhooks, y un flujo YAML/Terraform para que tus planes vivan en git en lugar de en un dashboard.

No existe un archivo de exportación de EasyCron que importar, así que la migración es un bucle manual corto: recrear cada job, ejecutar ambos en paralelo, apagar el antiguo.

1. Lista tus jobs de EasyCron

En el dashboard de EasyCron, anota para cada cron job:

  • la URL (y el método HTTP, si no es un GET simple)
  • la expresión cron y la zona horaria
  • las cabeceras o autenticación que espera el endpoint

2. Recrea cada job en un manifiesto

steadycron manifest add job añade jobs de uno en uno a steadycron.yaml — valida el resultado y nunca toca las entradas existentes:

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

O escribe el manifiesto directamente:

jobs:
  - id: nightly-report
    name: Nightly report
    kind: http
    method: GET
    url: https://app.example.com/tasks/nightly-report
    schedule: "0 2 * * *"
    timezone: Europe/Madrid
    retries: 3
    headers:
      Authorization: Bearer ${CRON_SECRET}   # se resuelve desde --env-file al aplicar

Después valida y aplica:

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

3. Ejecuta ambos en paralelo y luego cambia

Deja que SteadyCron y EasyCron llamen al endpoint durante un día o dos (asegúrate de que la tarea es idempotente, o desplaza los planes unos minutos). Cuando el registro de ejecución muestre runs en verde, pausa o elimina el job de EasyCron.

Qué ganas

EasyCronSteadyCron
Reintentos ante fallosLimitados, según planConfigurables con backoff exponencial
Control de timeoutSegún planPor job
Monitorización heartbeat de tus propios cronsNo
Canales de alertaEmail, webhookEmail, Slack, Discord, Telegram, webhook
Planes en git (YAML / Terraform)NoSí — validate, plan, apply
AlojamientoEE. UU.UE (RGPD nativo, DPA firmado)

Siguientes pasos

  • YAML y CLI — el flujo completo del manifiesto
  • HTTP jobs — request builder, reintentos, timeouts
  • Alertas — dirige los fallos al canal correcto