Nacho mantiene el panel donde su equipo ve las tareas programadas, y hasta hace poco ese panel mostraba las líneas de cron tal cual: cinco campos y a espabilar. Cada dos por tres caía el mismo ticket — «¿esto cuándo se ejecuta exactamente?» — así que se propuso algo modesto: una función que convirtiera la expresión en una frase en español y pintarla debajo, en gris pequeñito. Una tarde como mucho.
Partir los cinco campos y montar la frase le llevó veinte minutos. Lo otro, no.
El caso que rompía la frase
La primera traducción mala fue con 0 3 1 * 1. Su función decía «el día 1 de cada mes a las 3:00». Sonaba impecable. Y era mentira: cron tiene una regla rara y muy vieja — cuando el día del mes y el día de la semana están los dos restringidos, la tarea se dispara si coincide cualquiera de los dos, no los dos a la vez. Ese backup que todo el mundo daba por mensual llevaba años corriendo también todos los lunes. Nadie se había enterado porque no fallaba: simplemente pasaba más veces de las que ponía en la documentación.
A partir de ahí salieron más: */7 * * * * no reparte nada de forma regular al saltar de mes, porque el paso se reinicia el día 1; 0 0 29 2 * se ejecuta en años bisiestos y en el resto se queda mirando; y un rango con paso se lee de izquierda a derecha, no como uno espera a las once de la noche.
Dónde entró la IA
Nacho describió la regla del «o» con sus palabras y pidió la rama con los cuatro casos posibles (los dos comodines, solo día del mes, solo día de la semana, los dos puestos) y una tabla de ejemplos que la distinguieran. Eso le ahorró la parte tediosa. Pero lo que de verdad enderezó la función fue pegar las líneas reales de su crontab de producción, las feas, las que nadie enseña, y comparar la frase generada con las tres próximas ejecuciones que el planificador ya tenía calculadas.
Un crontab cuenta más de tu infraestructura que muchos diagramas: nombres de servicios, ventanas de backup, a qué hora del día nadie mira.
Eso es exactamente lo que no apetece pegar en una caja de texto que por dentro es una petición al servidor de otro. No es un secreto que guardes con contraseña, pero tampoco es algo que quieras dejar en el historial de nadie. Con el modelo corriendo en el navegador, sobre tu propia GPU, el prompt no va a ningún sitio: se queda en la pestaña.
Hoy el panel dice «el día 1 de cada mes y además todos los lunes, a las 3:00». Una frase fea. Y verdadera, que es lo que se pedía.
Si tienes una utilidad así atravesada, ábrela en Elffuss Code: la IA corre dentro del navegador, sobre tu equipo, y ni tu código ni tus prompts suben a ninguna parte.
Abrir Code →