I cron job di Linux vengono eseguiti ciascuno in sequenza o in parallelo?


10

Diciamo che creo due lavori cron:

  • Cron Job A, viene eseguito tutti i giorni alle 8:00
  • Cron Job B, corre tutti i giorni alle 8:05

Tuttavia, Cron Job A richiede 12 ore per l'esecuzione (non chiedere perché, questo è un esempio).

Cron Job B verrà eseguito alle 8:05 o i cron job verranno eseguiti solo uno alla volta?

Se un Cron Job precedentemente in esecuzione è stato interrotto da un riavvio / riavvio del sistema, riprenderà / eseguirà di nuovo dopo il successivo avvio?


2
La prima parte di questo è così facile da testare Sono sorpreso che tu non l'abbia fatto.
user9517

1
Il test è una cosa, ma sto cercando di ottenere informazioni sul nucleo di come funziona cron. Sì, probabilmente posso sfogliare la fonte cron, ma ciò richiederebbe più tempo. Ad esempio, mi piacerebbe sapere se ogni cron job viene generato come un nuovo processo, che secondo la mia comprensione lo è. Inoltre, se esiste un limite per l'esecuzione simultanea di cron job, che in realtà sembra essere basato sull'implementazione.
Adam B,

Risposte:


11

Sì, cron job B verrà eseguito alle 8:05. È inoltre possibile eseguire più di un processo di lunga durata alle 8:00 ecc.

Tuttavia, il processo non riprenderà dopo un riavvio. Se hai bisogno di qualcosa del genere, riscrivi il tuo lavoro con un wrapper che viene pianificato spesso e che controlla se ha qualcosa di nuovo da fare o qualcos'altro da continuare. Questo dipenderà dal compito che vuoi fare, ovviamente.


Se dipendesse da quello, probabilmente passerei a un demone. Vedo che in termini di riavvii / interruzioni di corrente, ecc., Daemon potrebbe essere più robusto.
Adam B,

2
@AdamB: ci sono molte attività per le quali cron non è adatto. Come sempre, scegli lo strumento appropriato per il tuo compito. Ad esempio, potrebbe essere utile esaminarlo anacron.
Sven


1

Ogni cron sul sistema è isolato l'uno dall'altro, ma il tempo di esecuzione del processo cron dipenderà esclusivamente dall'allocazione delle risorse di sistema e dal lavoro per cui Cron è stato pianificato.


Sara? Penso che potrebbe anche dipendere da cosa sta facendo il cronjob, da quali dati di input o da cosa e da molti altri fattori.
Falcon Momot,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.