Migrar desde Vercel cron

Importar entradas cron de vercel.json a un manifiesto de SteadyCron con un solo comando — eliminar las restricciones de Vercel de una vez al día y solo UTC.

El plan gratuito de Vercel limita los cron jobs a una vez al día en UTC. Incluso en planes de pago, los horarios están vinculados a vercel.json — cambiarlos requiere un redespliegue, no hay reintentos, y los registros son escasos sin alertas.

steadycron import vercel convierte las entradas cron de vercel.json en un manifiesto de SteadyCron con un solo comando.

Inicio rápido

# 1. Generar el manifiesto (lee vercel.json en el directorio actual)
steadycron import vercel \
  --base-url https://app.example.com \
  --cron-secret-env CRON_SECRET \
  -o steadycron.yaml

# 2. Revisar y validar
steadycron validate steadycron.yaml

# 3. Establecer el secreto y aplicar
echo "CRON_SECRET=su-secreto-aqui" > secrets.env
steadycron apply steadycron.yaml --env-file secrets.env --namespace prod

Cómo funciona

El importador lee vercel.json (o una ruta proporcionada como primer argumento) y emite un job http GET por cada entrada cron, con la URL completa construida desde --base-url + ruta y timezone: UTC.

--cron-secret-env NOMBRE — en lugar de incrustar el valor del secreto, el manifiesto emite:

headers:
  Authorization: Bearer ${CRON_SECRET}

El marcador ${…} se resuelve en el momento del sync/apply mediante --env-file o el entorno del proceso. El manifiesto en sí nunca contiene el secreto.

--dry-run — previsualizar lo que se generaría sin escribir un archivo.

Después de migrar

Una vez que SteadyCron gestiona un job, elimine (o comente) la entrada correspondiente de vercel.json y redespliegue — para evitar disparar el mismo endpoint dos veces.

Luego, ajuste sus horarios y establezca zonas horarias por job — capacidades que Vercel no expone.

Lo que gana

Vercel cronSteadyCron
Intervalo mínimoUna vez al día (gratuito)Configurable (según plan)
Zona horariaSolo UTCPor job, con horario de verano
Reintentos ante fallosNingunoSí — configurable
Aplicación de timeoutsNingunaSí — por job
Monitoreo heartbeatNo
AlertasNoEmail, Slack, Discord, Telegram, webhook
Cambiar horarioEditar vercel.json + redesplegarPanel, CLI o YAML — sin redespliegue
Registro de ejecuciónRegistros de plataforma, efímerosEstado, cuerpo y duración por ejecución

Próximos pasos