Ir al contenido

Los crones: trabajo que se repite

Un cron es un encargo que se repite solo: un informe cada lunes, un repaso cada tarde, un parte el día 1 de cada mes. Se pide una vez, se aprueba una vez y desde entonces el reloj de la instalación se encarga.

En el menú lateral, Crones. Arriba, el formulario para pedir uno; debajo, la lista con lo que hay. La lista se actualiza sola cada 15 segundos y el encabezado dice a qué hora lo hizo: no hay botón de refrescar.

Campo Qué se escribe
Nombre Un identificador corto y sin espacios, por ejemplo informe-lunes. Es único.
Puesto Quién lo va a ejecutar. Solo aparecen los puestos activos.
Cuándo La regla de repetición en formato cron de cinco campos: minuto, hora, día del mes, mes y día de la semana. Debajo, en palabras: «Cada lunes a las 07:00».
Instrucción Lo que tiene que hacer, escrito como se lo dirías a una persona. Es lo que recibirá el puesto cada vez.

Al guardar, el cron nace pendiente. Un cron pendiente no se ejecuta: no existe para el reloj.

Reglas de repetición que se entienden de un vistazo

Sección titulada «Reglas de repetición que se entienden de un vistazo»
Expresión Significado
0 7 * * 1 Cada lunes a las 07:00
30 18 * * 1-5 De lunes a viernes a las 18:30
0 8 1 * * El día 1 de cada mes a las 08:00
*/15 * * * * Cada 15 minutos

Si el patrón no es corriente, la lista muestra la expresión exacta en lugar de una traducción a medias.

  • El propietario y el CEO pueden crear crones y quedan aprobados al momento.
  • Cualquier puesto puede pedir el suyo, y también los de otro puesto, pero en ese caso el cron queda pendiente hasta que la dirección lo apruebe o lo rechace.

La aprobación es la puesta en marcha: hasta que no se aprueba, el reloj no lo ve.

Botón Qué hace
Aprobar Lo pone en marcha: se calcula la próxima ejecución y el reloj lo tendrá en cuenta desde ese momento.
Rechazar Lo deja sin efecto y lo marca como rechazado. No se ejecuta ni se puede reactivar sin pedirlo de nuevo.
Parar / Activar Silencia un cron aprobado sin borrarlo, o lo vuelve a poner en marcha.
  1. El reloj comprueba cada pocos segundos si algún cron vence.
  2. Si el cron ya tiene una ejecución viva, se salta esta vez: la misma tarea nunca se ejecuta dos veces a la vez. Se anota como «saltado», no como error.
  3. Si no hay nada en marcha, el puesto recibe el encargo con la misma puerta que cualquier encargo de la oficina: su modelo, su presupuesto y su registro.
  4. Al terminar, se guarda cuánto ha durado y qué ha pasado.

Un cron que falla lo intenta hasta tres veces. Si las tres fallan, se avisa al propietario y al CEO: son ellos quienes deciden si se reintenta o si se delega a quien corresponda. No hay reintentos silenciosos toda la noche.

  • Las horas son de la zona de la instalación (por defecto, Europe/Madrid), con el cambio de hora aplicado: las 07:00 son las 07:00 en verano y en invierno.
  • Cada puesto puede tener un número limitado de crones a la vez (diez por defecto). Al llegar al tope, la aplicación no deja pedir más y lo dice.
  • No adelanta trabajo: si el equipo está ocupado, espera.
  • No se ejecuta dos veces por haber fallado: los reintentos van uno detrás de otro.
  • No cambia solo: si la instrucción deja de servir, se para y se pide otro.