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 cron | SteadyCron | |
|---|---|---|
| Intervalo mínimo | Una vez al día (gratuito) | Configurable (según plan) |
| Zona horaria | Solo UTC | Por job, con horario de verano |
| Reintentos ante fallos | Ninguno | Sí — configurable |
| Aplicación de timeouts | Ninguna | Sí — por job |
| Monitoreo heartbeat | No | Sí |
| Alertas | No | Email, Slack, Discord, Telegram, webhook |
| Cambiar horario | Editar vercel.json + redesplegar | Panel, CLI o YAML — sin redespliegue |
| Registro de ejecución | Registros de plataforma, efímeros | Estado, cuerpo y duración por ejecución |
Próximos pasos
- Flujo de trabajo IaC — referencia CLI completa
- Configuración CI/CD — plan en PR, aplicar en merge
- Monitoreo heartbeat — monitorear también scripts del servidor