Explicar una expresión cron
Nadie recuerda si el campo de los minutos va antes o después del de las horas, ni qué significan los asteriscos y guiones apilados en una fila de cinco campos. Esta API para explicar una expresión cron lee una cadena cron y devuelve una oración en lenguaje claro que describe exactamente cuándo se ejecuta, convirtiendo un momento de adivinar a ojo en una respuesta instantánea.
Ejecutar — gratis
Corre en su navegador. Gratis y sin límite: sus datos no salen de esta página.
El rompecabezas de cinco campos que todos vuelven a aprender desde cero
Una expresión cron como 0 3 * * 1-5 es densa a propósito: cinco o seis campos cargados de números, asteriscos, comas, guiones y barras diagonales, cada uno con un significado distinto según su posición. Desarrolladores que heredan un script de despliegue antiguo, ingenieros de DevOps auditando un crontab dejado por alguien que ya se fue, y personal de soporte tratando de explicarle a un cliente por qué un reporte llega a las 3am en vez de a las 9am, todos chocan con el mismo obstáculo: la sintaxis es tan compacta que incluso ingenieros con experiencia prefieren abrir una referencia o una herramienta de prueba antes que confiar en su memoria. Esa pequeña fricción, repetida en todo un equipo, suma tiempo real perdido en algo que debería ser una respuesta de una sola línea.
Qué envía y qué recibe de vuelta
POST /dev/cron-explain acepta una expresión cron cruda como cadena de texto y devuelve una descripción clara y legible de su horario, algo como 'A las 3:00 AM, de lunes a viernes.' La tarea se pone en cola de forma asíncrona, devolviendo un task_id de inmediato, y la explicación llega momentos después por webhook firmado o por un enlace firmado válido por 24 horas, lista para mostrarse en una interfaz, una anotación de registro o un comentario de código.
Un formato de programación anterior a la mayoría de las herramientas actuales
La sintaxis cron se remonta a la utilidad cron original construida para sistemas Unix en los años setenta, diseñada para que los administradores programaran tareas recurrentes sin interfaz gráfica, solo una línea de texto compacta en una tabla. Ese mismo formato conciso sobrevivió prácticamente sin cambios durante décadas porque funciona, y hoy está incrustado en todo, desde pipelines de integración continua hasta programadores sin servidor y tareas de mantenimiento de bases de datos, razón por la cual tanta gente que nunca tocó Unix directamente todavía tiene que leer uno hoy.
Dónde encaja la explicación dentro de un flujo más amplio
Los paneles de programación, las herramientas de despliegue y los paneles de administración internos muestran cada vez más expresiones cron a personas sin perfil técnico que necesitan entender el horario de una tarea sin aprender la sintaxis, y este endpoint es la pieza que hace eso posible sin incrustar una librería de análisis en cada producto. Combina de forma natural con una consulta de próximas ejecuciones: explicar qué significa una expresión y luego mostrar exactamente cuándo se ejecutará. A $0.002 por solicitud, agregar una explicación en lenguaje claro junto a cada campo cron en un panel de administración cuesta un monto insignificante incluso a escala.
Acceso y estado actual
Usar el endpoint requiere saldo prepago; sin saldo, la solicitud devuelve HTTP 402 en vez de una explicación parcial o adivinada, y una solicitud fallida nunca se cobra después de sus reintentos. El precio es un plano $0.002 por solicitud. El endpoint está activo ahora, y las expresiones enviadas se descartan después de la ventana de entrega, nunca se conservan para entrenamiento.
Qué puede hacer con ella
Legibilidad de paneles de administración
Muestre una descripción en lenguaje claro junto a cada expresión cron cruda en una interfaz de programación de tareas, para que cualquiera la entienda de un vistazo.
Auditoría de crontabs heredados
Procese cada línea de un crontab heredado a través del endpoint para documentar rápidamente qué hace cada tarea y cuándo.
Revisión de código y documentación
Genere automáticamente un comentario legible arriba de una expresión cron en un archivo de configuración de despliegue o de integración continua.
Explicaciones de soporte al cliente
Traduzca el horario configurado por un cliente en una oración que el equipo de soporte puede pegar directamente en una respuesta.
Preguntas frecuentes
¿Cómo funciona esta api para explicar una expresión cron?
Envía una cadena cron a POST /dev/cron-explain y devuelve una descripción en lenguaje claro del horario, entregada por webhook o por un enlace firmado.
¿Qué formatos de cron entiende?
Analiza la sintaxis cron estándar de cinco y seis campos, incluyendo rangos, pasos, listas y comodines.
¿Hay un nivel gratuito para esta api?
La herramienta de arriba es gratis en su navegador. La API es de pago: cada llamada se descuenta de su saldo prepago de ForHosting KIT — se recarga desde $10.00 (no caduca), se paga el precio publicado de cada solicitud, y una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens, y una tarea fallida no se cobra.
¿Cuánto cuesta la api para explicar cron?
Cuesta un plano $0.002 por solicitud sin importar la complejidad de la expresión.
¿Soporta sintaxis no estándar como @daily o @hourly?
Está construida alrededor de la sintaxis cron estándar por campos; revise el esquema del endpoint para confirmar qué formas abreviadas acepta exactamente.
¿Está activa la api para explicar cron ahora mismo?
Sí, está activa y aceptando solicitudes.
¿También muestra la próxima ejecución, no solo el significado?
Este endpoint se enfoca en describir qué significa la expresión en lenguaje claro; las próximas ejecuciones están disponibles en un endpoint cron aparte.
¿Puedo explicar varias expresiones cron en lote?
Envíe una solicitud por expresión; cada una se procesa y se cobra de forma independiente, útil para auditar un archivo crontab completo de una vez.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, y pronto desde nuestra app, el email y Telegram.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/dev/cron-explain \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["valor-1","valor-2"]}'const res = await fetch("https://api.kit.forhosting.com/dev/cron-explain", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"valor-1",
"valor-2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/cron-explain",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"valor-1",
"valor-2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/cron-explain", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["valor-1","valor-2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["valor-1","valor-2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/cron-explain", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"items": [
"valor-1",
"valor-2"
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.cron_explain",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |