Informazioni sui job

Un job è un'azione eseguita dall'hub di gestione del sistema operativo su una o più istanze, ad esempio l'installazione di aggiornamenti o il collegamento di origini software. Quando viene eseguito un job, viene creata una richiesta di lavoro che esegue i task necessari per evadere il job, invia il lavoro alle istanze e riporta i risultati al servizio.

Un job può essere eseguito immediatamente oppure è possibile impostarlo per l'esecuzione in una data e ora future o come evento ricorrente. Questo è un processo schedulato. È possibile scegliere di riprovare automaticamente un job pianificato in caso di errore. Quando è selezionato il nuovo tentativo automatico, se il job pianificato non riesce alla sua prima esecuzione, il servizio riprova il job pianificato fino a tre volte, ogni cinque minuti di distanza. Anche i job pianificati possono essere contrassegnati.

Stato job pianificato

I job pianificati sono in uno degli stati riportati di seguito:

  • Esecuzione successiva: la data e l'ora di pianificazione dell'esecuzione del job.
  • Frequenza: indica se il job è impostato per essere eseguito in una schedulazione ricorrente o se viene eseguito una sola volta.
  • Destinazioni: identifica il numero di istanze di destinazione per il job.

Stato della richiesta di lavoro

Dopo essere stato inviato come richiesta di lavoro, un job è in corso o completato.

  • Le richieste di lavoro in corso riportano i seguenti valori di stato possibili:
    • Accettato: il servizio ha accettato il job e ha un lavoro pronto per le istanze. Se un job non viene ritirato da un agente e rimane nello stato accettato per 24 ore, il servizio contrassegna il job come non riuscito.
    • In corso: un agente ha ritirato il lavoro accettato e lo sta eseguendo su un'istanza.
    • Annullamento: il job è in fase di annullamento.
  • Le richieste di lavoro completate riportano i seguenti valori di stato possibili:
    • Riuscito: il job è stato completato senza errori.
    • Non riuscito: il job non è riuscito.
    • Annullato: il job è stato annullato

È possibile visualizzare i risultati dettagliati di un job visualizzando il log dei job e i messaggi di errore. Quando un job ha una gerarchia, se un job figlio non riesce, il servizio contrassegna il job padre come non riuscito.

Nuova esecuzione di un job non riuscito

Se un job non riesce, è possibile eseguire di nuovo il job non riuscito invece di creare manualmente un nuovo job per riprovare a eseguire l'azione non riuscita. È possibile eseguire di nuovo immediatamente un job non riuscito o pianificarne l'esecuzione in una data e ora future. La riesecuzione del job crea una nuova richiesta di lavoro per la stessa azione, ad esempio l'applicazione di aggiornamenti o il collegamento di origini software. Il job originale e il relativo stato rimangono invariati a scopo di auditing e cronologico.

Per i job in una gerarchia, è possibile eseguire di nuovo il job padre per eseguire di nuovo tutti i job nella gerarchia oppure eseguire di nuovo i job figlio singolarmente. Quando si esegue di nuovo un elemento padre non riuscito, il servizio si rivolge solo ai job figlio non riusciti. Ad esempio, si supponga di disporre di un gruppo di dieci istanze e che un job di aggiornamento non riesca su tre istanze. Dopo aver rivisto il log dei job e i messaggi di errore e aver risolto i problemi segnalati, è possibile rieseguire il job non riuscito per il gruppo. La riesecuzione interessa solo le tre istanze che hanno riscontrato l'errore originale.

Gerarchia job

Alcuni lavori sono suddivisi in compiti più piccoli. Il servizio crea una gerarchia di mansioni in cui il job iniziale è il 'padre' e i task più piccoli sono i 'figli'. Per i job più grandi o che interessano più istanze, è possibile capire facilmente quali task all'interno di un job sono riusciti o non riusciti. È possibile visualizzare i job figlio nella scheda Richieste di lavoro della pagina dei dettagli del job padre.

Ad esempio, un job di aggiornamento 'Tutti' crea job figlio per ogni tipo di aggiornamento: Sicurezza, Correzione bug, Miglioramento, Altro.

--Update All (parent)
  |--Update Security    (child)
  |--Update Bug fix     (child)
  |--Update Enhancement (child)
  |--Update Other       (child)

Un job si trova nello stesso compartimento della risorsa associata. Per i job associati a un gruppo o a un ciclo di vita, ciò può significare che i job padre e figlio si trovano in compartimenti diversi. Il job padre si trova nel compartimento associato al gruppo o al ciclo di vita, mentre i job figlio risiedono nel compartimento associato a ogni istanza. Per informazioni sulle procedure ottimali, vedere Considerazioni sul compartimento.

Ad esempio, l'aggiunta di un'origine software a un gruppo con tre membri produce un job padre singolo con tre job figlio, uno per ogni istanza.
--Set software sources for dev group (parent in dev compartment)
  |--Set software source Instance 1 (child in dev compartment)
  |--Set software source Instance 2 (child in test compartment)
  |--Set software source Instance 3 (child in preview compartment)