¿Los trabajos cron de Linux se ejecutan secuencialmente o en paralelo?


10

Digamos que creo dos trabajos cron:

  • Cron Job A, corre todos los días a las 8:00 a.m.
  • Cron Job B, corre todos los días a las 8:05 a.m.

Sin embargo, Cron Job A, tarda 12 horas en ejecutarse (no pregunte por qué, este es un ejemplo).

¿Se ejecutará Cron Job B a las 8:05 a.m. o los trabajos cron solo se ejecutarán uno a la vez?

Si un Cron Job que se estaba ejecutando anteriormente fue interrumpido por un reinicio / reinicio del sistema, ¿se reanudará / ejecutará nuevamente después del arranque posterior?


2
La primera parte de esto es tan fácil de probar que me sorprende que no lo hayas hecho.
user9517

1
Las pruebas son una cosa, pero estoy tratando de obtener información sobre el núcleo de cómo funciona cron. Sí, probablemente pueda navegar a través de la fuente cron, pero eso tomaría más tiempo. Por ejemplo, me gustaría saber si cada trabajo cron se genera como un nuevo proceso, que, según tengo entendido, es. Y también, si existe un límite de ejecución simultánea de trabajos cron, que en realidad también parece estar basado en la implementación.
Adam B

Respuestas:


11

Sí, el trabajo cron B se ejecutará a las 8:05. También puede ejecutar más de un trabajo de larga duración a las 8:00, etc.

Sin embargo, el trabajo no se reanudará después de un reinicio. Si necesita algo así, reescriba su trabajo con un contenedor que se programe con frecuencia y que verifique si tiene algo nuevo que hacer o algo más que continuar. Esto dependerá de la tarea que desee hacer, obviamente.


Si todo se redujera a eso, entonces probablemente cambiaría a un Daemon. Veo que en términos de reinicios / cortes de energía, etc., Daemon podría ser más robusto.
Adam B

2
@ AdamB: Hay muchas tareas para las que cron no es adecuado. Como siempre, elija la herramienta adecuada para su tarea. Por ejemplo, podría valer la pena investigar anacron.
Sven


1

Todos y cada cron en su sistema están aislados unos de otros, pero el tiempo de ejecución del trabajo cron dependerá únicamente de la asignación de recursos del sistema y del trabajo para el que Cron ha sido programado.


Lo hará? Creo que también podría depender de lo que esté haciendo el cronjob, de qué datos de entrada o para qué, y varios otros factores.
Falcon Momot
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.