·4 min de lectura

Asistente de expresiones Cron para Mac

Escribir una expresión de programación a mano y esperar que signifique lo que crees es la razón por la que los trabajos terminan ejecutándose a las 3 AM en vez de a las 3 PM.

La sintaxis cron son cinco campos de números y símbolos que de alguna manera necesitan expresar "cada día laborable a las 9 AM excepto festivos" o "cada 15 minutos entre las 8 y las 6." Los campos son minuto, hora, día del mes, mes y día de la semana, en un orden que nadie recuerda correctamente al primer intento, y los asteriscos, comas, guiones y barras significan cosas diferentes según la posición.

0 9 * * 1-5 parece razonable, pero ¿es a las 9 AM o a las 9 PM, y 1-5 significa de lunes a viernes o algo completamente distinto dependiendo de si la implementación de cron cuenta el domingo como 0 o como 7? Equivocarse en esto en un pipeline de despliegue, un trabajo de backup o un informe programado significa o bien fallos silenciosos o un trabajo ejecutándose a una hora inconveniente — a veces durante semanas antes de que alguien lo note.

Cada implementación de cron tiene sus propias peculiaridades

El cron estándar de Unix, los CronJobs de Kubernetes, AWS EventBridge y diversas plataformas de CI usan aproximadamente la misma sintaxis de cinco campos pero difieren en pequeños detalles — si se soportan segundos, cómo funciona la numeración del día de la semana, si ciertas cadenas abreviadas como @daily son válidas. Escribir una programación que funcione correctamente en el primer despliegue significa entender exactamente qué variante de cron estás utilizando.

Traduce expresiones a lenguaje natural

Bellows incluye un asistente de expresiones cron que toma una cadena de programación y explica lo que realmente significa en lenguaje claro, para que puedas verificar tu intención antes de desplegar un trabajo programado en cualquier parte.

Asistente de expresiones cron de Bellows explicando una cadena de programación en macOS

Verificar antes de desplegar

Un trabajo programado que se ejecuta a la hora equivocada es a menudo un fallo silencioso — nada se rompe, simplemente se ejecuta cuando no pretendías, a veces solapándose con una ventana de mantenimiento o sobrecargando una base de datos durante el pico de tráfico. Comprobar el significado en lenguaje natural de una cadena cron antes de mergear una configuración de despliegue detecta esto antes de que se convierta en una alerta a las 2 AM.

Leer la programación de otra persona

Heredar un código base con una docena de trabajos cron existentes significa descifrar qué hace cada uno antes de poder cambiar cualquiera de ellos con seguridad. Traducir cada expresión rápidamente es más ágil que parsear mentalmente cinco campos crípticos un trabajo a la vez.

Descarga Bellows en la Mac App Store

Siguiente artículo

Bellows

41 developer tools in one native Mac app — JSON, JWT, Base64, hashes, and more.

Get Bellows on the Mac App Store