La Expresión * * * * *
La expresión cron * * * * * se ejecuta al comienzo de cada minuto: 00:00, 00:01, 00:02 y así sucesivamente, 60 veces por hora, 1440 veces al día. Un * en cualquier campo cron significa ‘cada valor válido en este campo’. Cuándo los cinco campos están configurados como *, no hay filtro: el trabajo se ejecuta en cada limite de tiempo posible.
Esta es la frecuencia máxima que soporta cron. El campo de minutos es la granularidad más fina de cron, por lo que * * * * * es lo más rápido que cron puede ejecutar.
Cuando Tiene Sentido Cada Minuto
Trabajadores de cola
Algunos sistemas usan cron para iniciar un trabajador que vacia una cola de trabajos. Si los trabajos llegan continuamente y la latencia importa, un disparador por minuto asegura que la cola no permanezca inactiva por mucho tiempo.
Monitoreo en tiempo real
Si no puedes instalar un agente de monitoreo persistente, un cron por minuto que verifica un health check o registra una metrica es una solución alternativa pragmatica. No atrapa fallos que ocurren y se resuelven dentro de los 60 segundos, pero es mejor que sondear cada 5 minutos para un servicio crítico.
Envió de señales ligeras
Escribir la hora Unix en un archivo o base de datos cada minuto es una verificación de actividad comun.
Cuando es Excesivo
Cualquier cosa con un limite natural de batch
Para trabajos como generación de informes, sincronización de datos o envió de notificaciones, preguntate si los usuarios realmente necesitan actualizaciones cada minuto.
Trabajos con costo de inicio significativo
Un trabajo que se conecta a una base de datos, carga configuración desde una fuente remota o se autentica en una API externa paga ese costo 1440 veces al día.
Trabajos que a veces duran más de 60 segundos
Cron estándar no sabe si la ejecución anterior aún está en curso. Si el trabajo tarda 90 segundos, en el minuto 2 tendras dos instancias ejecutandose simultáneamente.
Prevenir Ejecución Simultanea
Para un trabajo cron por minuto, prueba que sucede cuando el tiempo de ejecución supera los 60 segundos. La solución estándar es flock:
* * * * * flock -n ...