HTTP jobs

Programa peticiones HTTP con retries, timeouts, headers personalizados y registro completo de peticiones y respuestas.

Un HTTP job es un endpoint al que SteadyCron llama según un horario. Tú te centras en el handler; SteadyCron se encarga de la programación, los retries, los timeouts y el registro de auditoría.

Configuración de la petición

Cada HTTP job envía una petición que controlas por completo:

  • MethodGET, POST, PUT, PATCH o DELETE.
  • URL — cualquier endpoint HTTPS. (Solo se permiten esquemas http/https, y las peticiones a direcciones internas/privadas están bloqueadas por seguridad.)
  • Headers — establece headers personalizados, p. ej. un bearer token de Authorization.
  • Body — envía un payload JSON o de texto con la petición.

Retries y timeouts

Los fallos transitorios no deberían convertirse en interrupciones permanentes:

  • Timeout — cancela una petición que tarda demasiado (hasta 30 s en el plan Free, 5 min en planes de pago).
  • Retries — reintenta los intentos fallidos con exponential backoff (hasta 1 en Free, hasta 5 en planes de pago). Elige si reintentar en timeout y en códigos de estado específicos.
  • Omitir si sigue en ejecución — no inicia una nueva ejecución mientras la anterior todavía está en curso.

Notas de runbook

Adjunta un runbook en markdown (y un enlace opcional) al job — consulta Alertas → Notas de runbook. Se incrusta directamente en la alerta de fallo, así que un job que agota sus retries no se limita a decir “falló”: le dice a quien esté de guardia qué hacer a continuación.

Política de misfire

Si SteadyCron no pudo lanzar un job en el minuto programado (por ejemplo, justo después de una ventana de mantenimiento), la política de misfire decide qué ocurre:

  • No hacer nada — omite el disparo perdido (ideal para jobs de tipo digest).
  • Ejecutar ahora una vez — lanza inmediatamente para recuperar el paso (ideal para backups).

Controles

Cualquier job puede ejecutarse ahora, pausarse y reanudarse desde el dashboard o la API. Pausar detiene la programación sin eliminar el job ni su historial.

Registro de ejecuciones

Cada invocación se registra con su marca de tiempo, duración, código de estado HTTP y una copia truncada de los headers y el body de la respuesta. Los retries aparecen como intentos separados. Usa el registro para responder “¿el job de las 3 a.m. se ejecutó y qué devolvió?”

La retención del registro depende de tu plan — consulta Planes y límites.

Próximos pasos