As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Ciclo de vida da tarefa em execução HealthOmics
Uma tarefa é um processo único dentro de uma execução. HealthOmics mapeia cada tarefa em seu fluxo de trabalho para um tipo de instância de computação ômica que melhor se adapte aos recursos necessários da tarefa. Você especifica os recursos necessários na definição do fluxo de trabalho. Para obter mais informações, consulteRequisitos de computação e memória para tarefas HealthOmics .
HealthOmics fornece armazenamento temporário de execução para a tarefa a ser usada. HealthOmics copia os arquivos de entrada da tarefa para o armazenamento de execução temporária como arquivos somente para leitura. HealthOmics fornece links simbólicos para que a tarefa possa acessar os arquivos de entrada do diretório de trabalho. A tarefa tem acesso somente aos arquivos que você declara no arquivo de definição do fluxo de trabalho.
Valores de status da tarefa
Você pode acompanhar o progresso de uma tarefa monitorando o status da tarefa. Quando você inicia uma execução, HealthOmics define o status da tarefa Pending para cada tarefa na execução. Quando a tarefa é iniciada e progride em seu ciclo de vida, HealthOmics atualiza o valor do status para refletir seu progresso atual.
Você pode recuperar o status da tarefa usando qualquer um dos seguintes métodos:
O HealthOmics console exibe o status de cada tarefa em uma execução na Run details página.
-
A operação GetRunTask da API retorna o status da tarefa.
Você pode monitorar o status da tarefa usando EventBridge eventos. Para obter mais informações, consulte Usando EventBridge com AWS HealthOmics.
Você pode recuperar o status atual de uma tarefa usando a operação da GetRunTask API. O HealthOmics console exibe o status de cada tarefa em uma execução na Run details página.
HealthOmics suporta os seguintes valores de status da tarefa:
- Pendente
-
Sua tarefa está na fila, esperando para começar. As tarefas permanecem pendentes por um breve período antes de serem iniciadas.
-
As tarefas permanecem pendentes após sua conta atingir o número máximo de tarefas simultâneas.
-
As tarefas permanecerão pendentes se a execução fizer parte de um grupo de execução que atingiu qualquer um dos valores máximos de seus recursos.
-
Você pode ajustar as prioridades de execução para que execuções específicas em fila e suas tarefas comecem antes de outras execuções em fila. Para obter mais informações sobre a prioridade de execução, consulte Prioridade de execução
-
- Starting
-
HealthOmics está criando a tarefa e provisionando os recursos necessários para a tarefa, como o nó da tarefa do fluxo de trabalho.
- Em execução
-
O status da tarefa é Executando enquanto HealthOmics está processando a tarefa.
- Parando
-
Depois de concluir o processamento da tarefa e exportar os dados de saída, a tarefa passa para Interromper.
-
HealthOmics desprovisiona o nó da tarefa do fluxo de trabalho.
-
- Concluído
-
HealthOmics concluiu o processamento da tarefa e transferiu os dados de saída para o sistema de arquivos de armazenamento em execução.
- Falha
-
HealthOmics encontrou um erro ao processar a tarefa e não a concluiu.
-
A tarefa passa para o status Parando (HealthOmics desprovisiona os recursos) e depois para o status Falha.
-
Se o erro for um erro de serviço (código de status HTTP 5XX) e o fluxo de trabalho suportar novas HealthOmics tentativas para essa tarefa, tente processar a tarefa novamente. HealthOmics atribui um novo ID de tarefa à nova tentativa.
-
- Cancelado
-
HealthOmics interrompe a tarefa após uma solicitação iniciada pelo usuário para cancelar a execução.
-
A tarefa passa para o status Interrompido (HealthOmics desprovisiona os recursos) e depois para o status Cancelado.
-
Solução de problemas de tarefas de fluxo
A seguir estão as melhores práticas e considerações para solucionar problemas em suas tarefas.
-
Os registros de tarefas dependem
STDOUT
e sãoSTDERR
produzidos pela tarefa. Se o aplicativo usado na tarefa não produzir nenhuma delas, não haverá um registro de tarefas. Para ajudar na depuração, use os aplicativos no modo.verbose
-
Para visualizar os comandos que estão sendo executados em uma tarefa junto com seus valores interpolados, use o comando
set -x
Bash. Isso pode ajudar a determinar se a tarefa está usando as entradas corretas e identificar onde os erros podem ter impedido que a tarefa fosse executada conforme o esperado. -
Use o
echo
comando para enviar os valores das variáveis paraSTDOUT
ouSTDERR
. Isso ajuda você a confirmar que eles estão sendo definidos conforme o esperado. -
Use comandos como
ls -l
<name_of_input_file>
para confirmar se as entradas estão presentes e têm o tamanho esperado. Se não estiverem, isso pode revelar um problema com uma tarefa anterior produzindo saídas vazias devido a um bug. -
Use o comando
df -Ph . | awk 'NR==2 {print $4}'
em um script de tarefas para determinar o espaço atualmente disponível para a tarefa e ajudar a identificar situações em que talvez seja necessário executar o fluxo de trabalho com alocação adicional de armazenamento.
A inclusão de qualquer um dos comandos anteriores em um script de tarefa pressupõe que o contêiner de tarefas também inclua esses comandos e que eles estejam no ambiente path
do contêiner.