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 iniciais devem ser idempotentes e sair normalmente se a configuração que estão executando já tiver sido feita. Deve-se ter um cuidado especial para evitar iniciar tarefas que criam processos separatistas ou instalar/iniciar serviços a partir do diretório de trabalho da tarefa inicial, pois isso impedirá que o Batch possa executar novamente a tarefa inicial.
Propriedades
| command |
A linha de comando não é executada sob um shell e, portanto, não pode aproveitar os recursos do shell, como a expansão da variável de ambiente. Se você quiser aproveitar esses recursos, você deve invocar 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. |
| container |
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 no contêiner, todas as variáveis de ambiente de tarefa são mapeadas no contêiner e a linha de comando da tarefa é executada no contêiner. |
| environment |
Uma lista de configurações de variáveis de ambiente para a tarefa iniciar. |
| max |
O serviço de lote tenta novamente uma tarefa se seu código de saída for diferente de zero. Observe que esse valor controla especificamente o número de tentativas. O serviço de lote tentará a tarefa uma vez e, em seguida, poderá tentar novamente até esse limite. Por exemplo, se a contagem máxima de tentativas for 3, o Batch tentará a tarefa até 4 vezes (uma tentativa inicial e 3 tentativas). Se a contagem máxima de tentativas for 0, o serviço Batch não repetirá a tarefa. Se a contagem máxima de tentativas for -1, o serviço em lote repetirá a tarefa sem limite. O padrão é 0 |
| resource |
Uma lista de arquivos que o serviço Batch baixará para o nó de computação antes de executar a linha de comando. |
| user |
Se omitida, a tarefa é executada como um usuário não administrativo exclusivo para a tarefa. |
| wait |
Se true e a tarefa inicial falhar em um nó de computação, o serviço Batch tentará novamente a tarefa inicial até sua contagem máxima de tentativas (maxTaskRetryCount). Se a tarefa ainda não tiver sido concluída com êxito após todas as tentativas, o serviço em lote marcará o nó de computação como inutilizável e não agendará tarefas para ele. Esta condição pode ser detetada através do estado do nó e detalhes do erro de agendamento. Se false, o serviço Batch 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 está em execução; E mesmo que a tarefa Iniciar falhe, novas tarefas continuarão a ser agendadas no nó. O padrão é true. |
Detalhes de Propriedade
commandLine
A linha de comando não é executada sob um shell e, portanto, não pode aproveitar os recursos do shell, como a expansão da variável de ambiente. Se você quiser aproveitar esses recursos, você deve invocar 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 de 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 no contêiner, todas as variáveis de ambiente de tarefa são mapeadas no contêiner e a linha de comando da tarefa é executada no contêiner.
containerSettings?: TaskContainerSettings
Valor de Propriedade
environmentSettings
Uma lista de configurações de variáveis de ambiente para a tarefa iniciar.
environmentSettings?: EnvironmentSetting[]
Valor de Propriedade
maxTaskRetryCount
O serviço de lote tenta novamente uma tarefa se seu código de saída for diferente de zero. Observe que esse valor controla especificamente o número de tentativas. O serviço de lote tentará a tarefa uma vez e, em seguida, poderá tentar novamente até esse limite. Por exemplo, se a contagem máxima de tentativas for 3, o Batch tentará a tarefa até 4 vezes (uma tentativa inicial e 3 tentativas). Se a contagem máxima de tentativas for 0, o serviço Batch não repetirá a tarefa. Se a contagem máxima de tentativas for -1, o serviço em lote repetirá a tarefa sem limite. O padrão é 0
maxTaskRetryCount?: number
Valor de Propriedade
number
resourceFiles
Uma lista de arquivos que o serviço Batch baixará para o nó de computação antes de executar a linha de comando.
resourceFiles?: ResourceFile[]
Valor de Propriedade
userIdentity
Se omitida, a tarefa é executada como um usuário não administrativo exclusivo para a tarefa.
userIdentity?: UserIdentity
Valor de Propriedade
waitForSuccess
Se true e a tarefa inicial falhar em um nó de computação, o serviço Batch tentará novamente a tarefa inicial até sua contagem máxima de tentativas (maxTaskRetryCount). Se a tarefa ainda não tiver sido concluída com êxito após todas as tentativas, o serviço em lote marcará o nó de computação como inutilizável e não agendará tarefas para ele. Esta condição pode ser detetada através do estado do nó e detalhes do erro de agendamento. Se false, o serviço Batch 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 está em execução; E mesmo que a tarefa Iniciar falhe, novas tarefas continuarão a ser agendadas no nó. O padrão é true.
waitForSuccess?: boolean
Valor de Propriedade
boolean