Compartilhar via


StartTask interface

Em alguns casos, a tarefa inicial pode ser executada novamente, mesmo que o nó não tenha sido reinicializado. Devido a isso, as tarefas de início devem ser idempotentes e sair normalmente se a configuração que eles estão executando já tiver sido feita. Devem ser tomados cuidados especiais para evitar tarefas iniciem tarefas que criem o processo de separação ou instalem/iniciem serviços do diretório de trabalho da tarefa inicial, pois isso impedirá que o Lote seja capaz de executar novamente a tarefa inicial.

Propriedades

commandLine

A linha de comando não é executada em um shell e, portanto, não pode aproveitar os recursos do shell, como expansão de variável de ambiente. Se quiser aproveitar esses recursos, invoque o shell na linha de comando, por exemplo, usando "cmd /c MyCommand" no Windows ou "/bin/sh -c MyCommand" no Linux. Obrigatório se quaisquer outras propriedades do startTask forem especificadas.

containerSettings

Quando isso é especificado, todos os diretórios recursivamente abaixo do AZ_BATCH_NODE_ROOT_DIR (a raiz dos diretórios do Lote do Azure no nó) são mapeados para o contêiner, todas as variáveis de ambiente de tarefa são mapeadas para o contêiner e a linha de comando da tarefa é executada no contêiner.

environmentSettings

Uma lista de configurações de variável de ambiente para a tarefa inicial.

maxTaskRetryCount

O serviço do Lote tentará novamente uma tarefa se o código de saída não for zero. Observe que esse valor controla especificamente o número de repetições. O serviço do Lote tentará a tarefa uma vez e poderá tentar novamente até esse limite. Por exemplo, se a contagem máxima de repetição for 3, o Lote tentará a tarefa até 4 vezes (uma tentativa inicial e três tentativas). Se a contagem máxima de repetição for 0, o serviço do Lote não repetirá a tarefa. Se a contagem máxima de repetição for -1, o serviço do Lote repetirá a tarefa sem limite. O padrão é 0

resourceFiles

Uma lista de arquivos que o serviço do Lote baixará no nó de computação antes de executar a linha de comando.

userIdentity

Se omitida, a tarefa será executada como um usuário não administrativo exclusivo para a tarefa.

waitForSuccess

Se true e a tarefa inicial falharem em um nó de computação, o serviço do Lote repetirá a tarefa inicial até sua contagem máxima de repetição (maxTaskRetryCount). Se a tarefa ainda não tiver sido concluída com êxito após todas as novas tentativas, o serviço do Lote marcará o nó de computação inutilizável e não agendará tarefas para ela. Essa condição pode ser detectada por meio do estado do nó e dos detalhes do erro de agendamento. Se for falso, o serviço do Lote não aguardará a conclusão da tarefa inicial. Nesse caso, outras tarefas podem começar a ser executadas no nó de computação enquanto a tarefa inicial ainda estiver em execução; e mesmo que a tarefa inicial falhe, novas tarefas continuarão a ser agendadas no nó. O padrão é verdadeiro.

Detalhes da propriedade

commandLine

A linha de comando não é executada em um shell e, portanto, não pode aproveitar os recursos do shell, como expansão de variável de ambiente. Se quiser aproveitar esses recursos, invoque o shell na linha de comando, por exemplo, usando "cmd /c MyCommand" no Windows ou "/bin/sh -c MyCommand" no Linux. Obrigatório se quaisquer outras propriedades do startTask forem especificadas.

commandLine?: string

Valor da propriedade

string

containerSettings

Quando isso é especificado, todos os diretórios recursivamente abaixo do AZ_BATCH_NODE_ROOT_DIR (a raiz dos diretórios do Lote do Azure no nó) são mapeados para o contêiner, todas as variáveis de ambiente de tarefa são mapeadas para o contêiner e a linha de comando da tarefa é executada no contêiner.

containerSettings?: TaskContainerSettings

Valor da propriedade

environmentSettings

Uma lista de configurações de variável de ambiente para a tarefa inicial.

environmentSettings?: EnvironmentSetting[]

Valor da propriedade

maxTaskRetryCount

O serviço do Lote tentará novamente uma tarefa se o código de saída não for zero. Observe que esse valor controla especificamente o número de repetições. O serviço do Lote tentará a tarefa uma vez e poderá tentar novamente até esse limite. Por exemplo, se a contagem máxima de repetição for 3, o Lote tentará a tarefa até 4 vezes (uma tentativa inicial e três tentativas). Se a contagem máxima de repetição for 0, o serviço do Lote não repetirá a tarefa. Se a contagem máxima de repetição for -1, o serviço do Lote repetirá a tarefa sem limite. O padrão é 0

maxTaskRetryCount?: number

Valor da propriedade

number

resourceFiles

Uma lista de arquivos que o serviço do Lote baixará no nó de computação antes de executar a linha de comando.

resourceFiles?: ResourceFile[]

Valor da propriedade

userIdentity

Se omitida, a tarefa será executada como um usuário não administrativo exclusivo para a tarefa.

userIdentity?: UserIdentity

Valor da propriedade

waitForSuccess

Se true e a tarefa inicial falharem em um nó de computação, o serviço do Lote repetirá a tarefa inicial até sua contagem máxima de repetição (maxTaskRetryCount). Se a tarefa ainda não tiver sido concluída com êxito após todas as novas tentativas, o serviço do Lote marcará o nó de computação inutilizável e não agendará tarefas para ela. Essa condição pode ser detectada por meio do estado do nó e dos detalhes do erro de agendamento. Se for falso, o serviço do Lote não aguardará a conclusão da tarefa inicial. Nesse caso, outras tarefas podem começar a ser executadas no nó de computação enquanto a tarefa inicial ainda estiver em execução; e mesmo que a tarefa inicial falhe, novas tarefas continuarão a ser agendadas no nó. O padrão é verdadeiro.

waitForSuccess?: boolean

Valor da propriedade

boolean