Ciclo di vita delle attività in esecuzione HealthOmics - AWS HealthOmics

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Ciclo di vita delle attività in esecuzione HealthOmics

Un'attività è un singolo processo all'interno di un'esecuzione. HealthOmics mappa ogni attività del flusso di lavoro su un tipo di istanza di calcolo omico che meglio si adatta alle risorse richieste dall'attività. Le risorse richieste vengono specificate nella definizione del flusso di lavoro. Per ulteriori informazioni, vedereRequisiti di calcolo e memoria per le attività HealthOmics .

HealthOmics fornisce una memoria di esecuzione temporanea per l'attività da utilizzare. HealthOmics copia i file di input dell'operazione nell'archivio temporaneo di esecuzione come file di sola lettura. HealthOmics fornisce collegamenti simbolici in modo che l'attività possa accedere ai file di input dalla directory di lavoro. L'attività ha accesso solo ai file dichiarati nel file di definizione del flusso di lavoro.

Valori dello stato dell'attività

È possibile tenere traccia dell'avanzamento di un'attività monitorandone lo stato. Quando si avvia un'esecuzione, HealthOmics imposta lo stato dell'attività su Pending ogni attività in esecuzione. Quando l'attività viene avviata e prosegue nel suo ciclo di vita, HealthOmics aggiorna il valore dello stato in base all'avanzamento corrente.

È possibile recuperare lo stato dell'attività utilizzando uno dei seguenti metodi:

  • La HealthOmics console visualizza lo stato di ogni attività in esecuzione sulla Run details pagina.

  • L'operazione GetRunTask API restituisce lo stato dell'attività.

  • È possibile monitorare lo stato delle attività utilizzando EventBridge gli eventi. Per ulteriori informazioni, consulta Utilizzo EventBridge con AWS HealthOmics.

È possibile recuperare lo stato corrente di un'attività utilizzando l'operazione GetRunTask API. La HealthOmics console visualizza lo stato di ogni attività in esecuzione sulla Run details pagina.

HealthOmics supporta i seguenti valori di stato delle attività:

In attesa

L'operazione è in coda, in attesa di essere avviata. Le attività rimangono in sospeso per un breve periodo prima di iniziare.

  • Le attività rimangono in sospeso dopo che l'account ha raggiunto il numero massimo di attività simultanee.

  • Le attività rimangono in sospeso se l'esecuzione fa parte di un gruppo di esecuzione che ha raggiunto uno dei valori massimi di risorse.

  • È possibile modificare le priorità di esecuzione in modo che le esecuzioni specifiche in coda e le relative attività vengano avviate prima delle altre esecuzioni in coda. Per ulteriori informazioni sulla priorità di esecuzione, vedere Priorità di esecuzione

Avvio in corso

HealthOmics sta creando l'attività e fornendo le risorse necessarie per l'attività, ad esempio il nodo delle attività del flusso di lavoro.

In esecuzione

Lo stato dell'operazione è In esecuzione durante HealthOmics l'elaborazione dell'operazione.

In arresto

Dopo aver completato l'operazione di elaborazione ed esportazione dei dati di output, l'operazione passa a Interruzione.

  • HealthOmics depredispone il nodo dell'attività del flusso di lavoro.

Completato

HealthOmics ha terminato l'elaborazione dell'operazione e ha trasferito i dati di output nel file system run storage.

Non riuscito

HealthOmics ha riscontrato un errore durante l'elaborazione dell'operazione e non l'ha completata.

  • L'attività passa allo stato Interruzione (rifornisce HealthOmics le risorse) e quindi allo stato Non riuscito.

  • Se l'errore è un errore di servizio (codice di stato HTTP 5XX) e il flusso di lavoro supporta nuovi HealthOmics tentativi per questa operazione, tenta di elaborare nuovamente l'operazione. HealthOmics assegna un nuovo ID di attività al nuovo tentativo.

Annullato

HealthOmics interrompe l'operazione dopo una richiesta di annullamento dell'esecuzione avviata dall'utente.

  • L'attività passa allo stato Interruzione (rifornisce le risorse) e HealthOmics quindi allo stato Annullato.

Risoluzione dei problemi delle attività del flusso

Di seguito sono riportate le best practice e le considerazioni per la risoluzione dei problemi relativi alle attività.

  • I log delle attività si basano sull'attività STDOUT e STDERR vengono prodotti da essa. Se l'applicazione utilizzata nell'attività non produce nessuno di questi, non ci sarà un registro delle attività. Per facilitare il debug, utilizzate le applicazioni in modalità. verbose

  • Per visualizzare i comandi eseguiti in un'operazione insieme ai relativi valori interpolati, utilizzate il comando Bash. set -x Questo può aiutare a determinare se l'attività sta utilizzando gli input corretti e a identificare dove gli errori potrebbero aver impedito l'esecuzione dell'attività come previsto.

  • Utilizzate il echo comando per inviare i valori delle variabili a STDOUT oSTDERR. Questo ti aiuta a confermare che siano impostate come previsto.

  • Usa comandi come ls -l <name_of_input_file> per confermare che gli input siano presenti e abbiano le dimensioni previste. Se non lo sono, ciò potrebbe rivelare un problema con un'attività precedente che produceva output vuoti a causa di un bug.

  • Utilizzate il comando df -Ph . | awk 'NR==2 {print $4}' in uno script di task per determinare lo spazio attualmente disponibile per l'attività e aiutare a identificare le situazioni in cui potrebbe essere necessario eseguire il flusso di lavoro con un'allocazione di storage aggiuntiva.

L'inclusione di uno qualsiasi dei comandi precedenti in uno script di attività presuppone che il contenitore delle attività includa anche questi comandi e che si trovino nell'ambiente path del contenitore.