BatchTask interface
O Lote tentará novamente tarefas quando uma operação de recuperação for disparada em um nó. Exemplos de operações de recuperação incluem (mas não se limitam a) quando um nó não íntegro é reinicializado ou um Nó de Computação desapareceu devido a uma falha de host. As novas tentativas devido às operações de recuperação são independentes e não são contadas em relação ao maxTaskRetryCount. Mesmo que o maxTaskRetryCount seja 0, uma repetição interna devido a uma operação de recuperação poderá ocorrer. Por isso, todas as tarefas devem ser idempotentes. Isso significa que as tarefas precisam tolerar ser interrompidas e reiniciadas sem causar dados corrompidos ou duplicados. A melhor prática para tarefas de execução longa é usar alguma forma de ponto de verificação.
Propriedades
| affinity |
Uma dica de localidade que pode ser usada pelo serviço Batch para selecionar um Nó de Computação no qual iniciar a nova Tarefa. |
| application |
Uma lista de Pacotes que o serviço Batch irá implantar no Nó de Computação antes de executar a linha de comando. Os pacotes de aplicação são baixados e implantados em um diretório compartilhado, não no diretório de trabalho Tarefa. Portanto, se um pacote referenciado já estiver no Nó e atualizado, ele não é baixado novamente; a cópia existente no Nó de Computação é utilizada. Se um Pacote referenciado não puder ser instalado, por exemplo, porque o pacote foi deletado ou porque o download falhou, a Tarefa falha. |
| command |
A linha de comando da Tarefa. Para Tarefas multiinstância, a linha de comando é executada como a Tarefa principal, após a Tarefa principal e todas as subtarefas terem terminado de executar a linha de comando de coordenação. 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, deve invocar o shell na linha de comando, por exemplo, usando "cmd /c MyCommand" em Windows ou "/bin/sh -c MyCommand" no Linux. Se a linha de comando se referir a caminhos de arquivo, ela deverá usar um caminho relativo (relativo ao diretório de trabalho da Tarefa) ou usar a variável de ambiente fornecida pelo Lote (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables). |
| constraints | As restrições de execução que se aplicam a esta Tarefa. |
| container |
As configurações do contêiner sob o qual a Tarefa é executada. Se o pool que executará essa tarefa tiver containerConfiguration ativado, isso também deve ser definido. Se o pool que executará essa tarefa não tiver containerConfiguration ativado, isso não deve ser definido. Quando isso é especificado, todos os diretórios recursivamente abaixo do AZ_BATCH_NODE_ROOT_DIR (a raiz dos diretórios Lote do Azure no nó) são mapeados no contêiner, todas as variáveis do ambiente Tarefa são mapeadas no contêiner, e a linha de comando Tarefa é executada no contêiner. Arquivos produzidos no contêiner fora do AZ_BATCH_NODE_ROOT_DIR podem não ser refletidos no disco hospedeiro, o que significa que APIs de arquivos Batch não conseguirão acessar esses arquivos. |
| creation |
O tempo de criação da Tarefa. |
| depends |
As tarefas das quais essa tarefa depende. Essa Tarefa não será agendada até que todas as Tarefas das quais ela depende tenham sido concluídas com sucesso. Se alguma dessas Tarefas falhar e esgotar a contagem de tentativas de novo, essa Tarefa nunca será agendada. |
| display |
Um nome de exibição para a Tarefa. O nome de exibição não precisa ser exclusivo e pode conter caracteres Unicode até um comprimento máximo de 1024. |
| environment |
Uma lista de configurações de variáveis de ambiente para a Tarefa. |
| e |
O ETag da Tarefa. Essa é uma cadeia de caracteres opaca. Você pode usá-lo para detectar se a tarefa mudou entre as requisições. Em particular, você pode passar o ETag ao atualizar uma Tarefa para especificar que suas mudanças só devem entrar em vigor se ninguém mais tiver modificado a Tarefa nesse meio tempo. |
| execution |
Informações sobre a execução da Tarefa. |
| exit |
Como o serviço em lote deve responder quando a tarefa for concluída. |
| id | Uma cadeia que identifica de forma única a Tarefa dentro do Trabalho. A ID pode conter qualquer combinação de caracteres alfanuméricos, incluindo hifens e sublinhados, e não pode conter mais de 64 caracteres. |
| last |
O último tempo modificado da Tarefa. |
| multi |
Um objeto que indica que a tarefa é uma tarefa multiinstância e contém informações sobre como executar a tarefa multiinstância. |
| node |
Informações sobre o Nó de Computação onde a Tarefa rodava. |
| output |
Uma lista de arquivos que o serviço Batch enviará do Nó de Computação após executar a linha de comando. Para Tarefas de múltiplas instâncias, os arquivos só serão carregados do Nó de Computação onde a Tarefa principal é executada. |
| previous |
O estado anterior da Tarefa. Essa propriedade não é definida se a Tarefa estiver em seu estado inicial Ativo. |
| previous |
O momento em que a Tarefa entrou em seu estado anterior. Essa propriedade não é definida se a Tarefa estiver em seu estado inicial Ativo. |
| required |
O número de espaços de agendamento que a Tarefa precisa para executar. O valor padrão é 1. Uma Tarefa só pode ser agendada para rodar em um nó de computação se o nó tiver vagas de agendamento livres suficientes disponíveis. Para Tarefas de múltiplas instâncias, isso deve ser 1. |
| resource |
Uma lista de arquivos que o serviço do Lote baixará no Nó de Computação antes de executar a linha de comando. Para Tarefas multiinstância, os arquivos de recurso serão baixados apenas para o Nó de Computação onde a Tarefa principal é executada. Há um tamanho máximo para a lista de arquivos de recurso. Quando o tamanho máximo for excedido, a solicitação falhará e o código de erro de resposta será RequestEntityTooLarge. Se isso ocorrer, a coleção de ResourceFiles deverá ser reduzida em tamanho. Isso pode ser feito usando arquivos .zip, pacotes de aplicativos ou contêineres do Docker. |
| state | O estado atual da Tarefa. |
| state |
O momento em que a Tarefa entrou em seu estado atual. |
| task |
Estatísticas de uso de recursos para a Tarefa. |
| url | A URL da tarefa. |
| user |
A identidade do usuário sob a qual a Tarefa é executada. Se omitida, a Tarefa roda como um usuário não administrativo exclusivo da Tarefa. |
Detalhes da propriedade
affinityInfo
Uma dica de localidade que pode ser usada pelo serviço Batch para selecionar um Nó de Computação no qual iniciar a nova Tarefa.
affinityInfo?: BatchAffinityInfo
Valor da propriedade
applicationPackageReferences
Uma lista de Pacotes que o serviço Batch irá implantar no Nó de Computação antes de executar a linha de comando. Os pacotes de aplicação são baixados e implantados em um diretório compartilhado, não no diretório de trabalho Tarefa. Portanto, se um pacote referenciado já estiver no Nó e atualizado, ele não é baixado novamente; a cópia existente no Nó de Computação é utilizada. Se um Pacote referenciado não puder ser instalado, por exemplo, porque o pacote foi deletado ou porque o download falhou, a Tarefa falha.
applicationPackageReferences?: BatchApplicationPackageReference[]
Valor da propriedade
commandLine
A linha de comando da Tarefa. Para Tarefas multiinstância, a linha de comando é executada como a Tarefa principal, após a Tarefa principal e todas as subtarefas terem terminado de executar a linha de comando de coordenação. 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, deve invocar o shell na linha de comando, por exemplo, usando "cmd /c MyCommand" em Windows ou "/bin/sh -c MyCommand" no Linux. Se a linha de comando se referir a caminhos de arquivo, ela deverá usar um caminho relativo (relativo ao diretório de trabalho da Tarefa) ou usar a variável de ambiente fornecida pelo Lote (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).
commandLine: string
Valor da propriedade
string
constraints
As restrições de execução que se aplicam a esta Tarefa.
constraints?: BatchTaskConstraints
Valor da propriedade
containerSettings
As configurações do contêiner sob o qual a Tarefa é executada. Se o pool que executará essa tarefa tiver containerConfiguration ativado, isso também deve ser definido. Se o pool que executará essa tarefa não tiver containerConfiguration ativado, isso não deve ser definido. Quando isso é especificado, todos os diretórios recursivamente abaixo do AZ_BATCH_NODE_ROOT_DIR (a raiz dos diretórios Lote do Azure no nó) são mapeados no contêiner, todas as variáveis do ambiente Tarefa são mapeadas no contêiner, e a linha de comando Tarefa é executada no contêiner. Arquivos produzidos no contêiner fora do AZ_BATCH_NODE_ROOT_DIR podem não ser refletidos no disco hospedeiro, o que significa que APIs de arquivos Batch não conseguirão acessar esses arquivos.
containerSettings?: BatchTaskContainerSettings
Valor da propriedade
creationTime
O tempo de criação da Tarefa.
creationTime: Date
Valor da propriedade
Date
dependsOn
As tarefas das quais essa tarefa depende. Essa Tarefa não será agendada até que todas as Tarefas das quais ela depende tenham sido concluídas com sucesso. Se alguma dessas Tarefas falhar e esgotar a contagem de tentativas de novo, essa Tarefa nunca será agendada.
dependsOn?: BatchTaskDependencies
Valor da propriedade
displayName
Um nome de exibição para a Tarefa. O nome de exibição não precisa ser exclusivo e pode conter caracteres Unicode até um comprimento máximo de 1024.
displayName?: string
Valor da propriedade
string
environmentSettings
Uma lista de configurações de variáveis de ambiente para a Tarefa.
environmentSettings?: EnvironmentSetting[]
Valor da propriedade
eTag
O ETag da Tarefa. Essa é uma cadeia de caracteres opaca. Você pode usá-lo para detectar se a tarefa mudou entre as requisições. Em particular, você pode passar o ETag ao atualizar uma Tarefa para especificar que suas mudanças só devem entrar em vigor se ninguém mais tiver modificado a Tarefa nesse meio tempo.
eTag: string
Valor da propriedade
string
executionInfo
Informações sobre a execução da Tarefa.
executionInfo?: BatchTaskExecutionInfo
Valor da propriedade
exitConditions
Como o serviço em lote deve responder quando a tarefa for concluída.
exitConditions?: ExitConditions
Valor da propriedade
id
Uma cadeia que identifica de forma única a Tarefa dentro do Trabalho. A ID pode conter qualquer combinação de caracteres alfanuméricos, incluindo hifens e sublinhados, e não pode conter mais de 64 caracteres.
id: string
Valor da propriedade
string
lastModified
O último tempo modificado da Tarefa.
lastModified: Date
Valor da propriedade
Date
multiInstanceSettings
Um objeto que indica que a tarefa é uma tarefa multiinstância e contém informações sobre como executar a tarefa multiinstância.
multiInstanceSettings?: MultiInstanceSettings
Valor da propriedade
nodeInfo
Informações sobre o Nó de Computação onde a Tarefa rodava.
nodeInfo?: BatchNodeInfo
Valor da propriedade
outputFiles
Uma lista de arquivos que o serviço Batch enviará do Nó de Computação após executar a linha de comando. Para Tarefas de múltiplas instâncias, os arquivos só serão carregados do Nó de Computação onde a Tarefa principal é executada.
outputFiles?: OutputFile[]
Valor da propriedade
previousState
O estado anterior da Tarefa. Essa propriedade não é definida se a Tarefa estiver em seu estado inicial Ativo.
previousState?: BatchTaskState
Valor da propriedade
previousStateTransitionTime
O momento em que a Tarefa entrou em seu estado anterior. Essa propriedade não é definida se a Tarefa estiver em seu estado inicial Ativo.
previousStateTransitionTime?: Date
Valor da propriedade
Date
requiredSlots
O número de espaços de agendamento que a Tarefa precisa para executar. O valor padrão é 1. Uma Tarefa só pode ser agendada para rodar em um nó de computação se o nó tiver vagas de agendamento livres suficientes disponíveis. Para Tarefas de múltiplas instâncias, isso deve ser 1.
requiredSlots?: 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. Para Tarefas multiinstância, os arquivos de recurso serão baixados apenas para o Nó de Computação onde a Tarefa principal é executada. Há um tamanho máximo para a lista de arquivos de recurso. Quando o tamanho máximo for excedido, a solicitação falhará e o código de erro de resposta será RequestEntityTooLarge. Se isso ocorrer, a coleção de ResourceFiles deverá ser reduzida em tamanho. Isso pode ser feito usando arquivos .zip, pacotes de aplicativos ou contêineres do Docker.
resourceFiles?: ResourceFile[]
Valor da propriedade
state
stateTransitionTime
O momento em que a Tarefa entrou em seu estado atual.
stateTransitionTime: Date
Valor da propriedade
Date
taskStatistics
Estatísticas de uso de recursos para a Tarefa.
taskStatistics?: BatchTaskStatistics
Valor da propriedade
url
A URL da tarefa.
url: string
Valor da propriedade
string
userIdentity
A identidade do usuário sob a qual a Tarefa é executada. Se omitida, a Tarefa roda como um usuário não administrativo exclusivo da Tarefa.
userIdentity?: UserIdentity