BatchJobPreparationTask interface
Uma Tarefa de Preparação de Trabalho a ser executada antes de qualquer Tarefa do Trabalho em qualquer Nó de Computação. Você pode usar a Preparação do Trabalho para preparar um Nó para executar Tarefas para o Trabalho. As atividades normalmente realizadas na Preparação para o Trabalho incluem: Download de arquivos de recursos comuns usados por todas as Tarefas no Trabalho. A Tarefa de Preparação de Trabalho pode baixar esses arquivos de recursos comuns para o local compartilhado no nó. (AZ_BATCH_NODE_ROOT_DIR\shared) ou iniciar um serviço local no Nó para que todas as Tarefas desse Trabalho possam se comunicar com ele. Se a Tarefa de Preparação de Trabalho falhar (ou seja, esgotar sua contagem de tentativas antes de sair com o código de saída 0), o Lote não executará Tarefas deste Trabalho no Nó. O Nó de Computação permanece inelegível para executar Tarefas deste Trabalho até que seja recriado. O nó de computação permanece ativo e pode ser usado para outros trabalhos. A Tarefa de Preparação de Trabalho pode ser executada várias vezes no mesmo Nó. Portanto, você deve escrever a Tarefa de Preparação de Trabalho para lidar com a reexecução. Se o Nó for reinicializado, a Tarefa de Preparação de Trabalho será executada novamente no Nó de Computação antes de agendar qualquer outra Tarefa do Trabalho, se rerunOnNodeRebootAfterSuccess for true ou se a Tarefa de Preparação de Trabalho não tiver sido concluída anteriormente. Se o Nó for recriado, a Tarefa de Preparação do Trabalho será executada novamente antes de agendar qualquer Tarefa do Trabalho. O lote tentará novamente Tarefas quando uma operação de recuperação for acionada em um nó. Exemplos de operações de recuperação incluem (mas não estão limitados a) quando um nó não íntegro é reinicializado ou um nó de computação desaparece devido a falha do host. As novas tentativas devido a operações de recuperação são independentes e não são contabilizadas em relação ao maxTaskRetryCount. Mesmo se maxTaskRetryCount for 0, pode ocorrer uma nova tentativa interna devido a uma operação de recuperação. Por isso, todas as tarefas devem ser idempotentes. Isso significa que as tarefas precisam tolerar ser interrompidas e reiniciadas sem causar corrupção ou dados duplicados. A prática recomendada para tarefas de longa duração é usar alguma forma de ponto de verificação.
Propriedades
| command |
A linha de comandos da Tarefa de Preparação de Tarefas. 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 quiser tirar partido destas funcionalidades, deve invocar o shell na linha de comandos, 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 Tarefa) ou usar a variável de ambiente Batch provided (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables). |
| constraints | Restrições que se aplicam à Tarefa de Preparação para o Emprego. |
| container |
As definições do contentor sob o qual a Tarefa de Preparação de Tarefas corre. Quando isto é especificado, todos os diretórios recursivamente abaixo do AZ_BATCH_NODE_ROOT_DIR (a raiz dos Azure Batch diretórios no nó) são mapeados para o contentor, todas as variáveis do ambiente Tarefa são mapeadas para o contentor e a linha de comandos Tarefa é executada no contentor. Ficheiros produzidos no contentor fora de AZ_BATCH_NODE_ROOT_DIR podem não ser refletidos para o disco anfitrião, o que significa que as APIs de ficheiros Batch não poderão aceder a esses ficheiros. |
| environment |
Uma lista de definições de variáveis de ambiente para a Tarefa de Preparação de Trabalho. |
| id | Uma cadeia que identifica de forma única a Tarefa de Preparação do Trabalho dentro do Trabalho. O ID pode conter qualquer combinação de caracteres alfanuméricos, incluindo hífenes e sublinhados, e não pode conter mais de 64 caracteres. Se não especificar esta propriedade, o serviço Batch atribui um valor padrão de 'preparação para o trabalho'. Nenhuma outra Tarefa no Trabalho pode ter o mesmo ID que a Tarefa de Preparação do Trabalho. Se tentar submeter uma Tarefa com o mesmo id, o serviço Batch rejeita o pedido com o código de erro TaskIdSameAsJobPreparationTask; se estiver a chamar diretamente a API REST, o código de estado HTTP é 409 (Conflito). |
| rerun |
Se o serviço Batch deve reexecutar a Tarefa de Preparação de Tarefas após o reinício de um Nó de Computação. A Tarefa de Preparação de Trabalho é sempre reexecutada se um Nó de Computação for reimaginado, ou se a Tarefa de Preparação de Tarefas não foi concluída (por exemplo, porque o reinício ocorreu enquanto a Tarefa estava a correr). Por isso, deve sempre escrever uma Tarefa de Preparação de Tarefas para ser idempotente e comportar-se corretamente se for executada várias vezes. O valor predefinido é true. |
| resource |
Uma lista de arquivos que o serviço em lote baixará para o nó de computação antes de executar a linha de comando. Os arquivos listados sob este elemento estão localizados no diretório de trabalho da tarefa. Há um tamanho máximo para a lista de arquivos de recursos. 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 deve ser reduzida em tamanho. Isso pode ser feito usando arquivos .zip, pacotes de aplicativos ou contêineres do Docker. |
| user |
A identidade do utilizador sob a qual a Tarefa de Preparação de Tarefas é executada. Se omitida, a Tarefa é executada como um utilizador não administrativo único da Tarefa nos Nós de Computação do Windows, ou como um utilizador não administrativo exclusivo do Pool nos Nós de Computação Linux. |
| wait |
Se o serviço Batch deve esperar que a Tarefa de Preparação de Trabalho seja concluída com sucesso antes de agendar quaisquer outras Tarefas do Trabalho no Nó de Computação. Uma Tarefa de Preparação de Trabalho foi concluída com sucesso se sair com código de saída 0. Se for verdade e a Tarefa de Preparação de Tarefas falhar num nó, o serviço Batch tenta novamente a Tarefa de Preparação de Tarefas até ao seu número máximo de tentativas (conforme especificado no elemento de restrições). Se a Tarefa ainda não tiver sido concluída com sucesso após todas as tentativas, então o serviço Batch não irá agendar as Tarefas do Trabalho para o nó. O Nó mantém-se ativo e elegível para executar Tarefas de outros Profissionais. Se for falso, o serviço em lote não espera que a Tarefa de Preparação de Trabalho seja concluída. Neste caso, outras Tarefas do Trabalho podem começar a ser executadas no Nó de Computação enquanto a Tarefa de Preparação de Tarefas ainda está a correr; e mesmo que a Tarefa de Preparação de Tarefas falhe, novas Tarefas continuarão a ser agendadas no Nó de Computação. O valor predefinido é true. |
Detalhes de Propriedade
commandLine
A linha de comandos da Tarefa de Preparação de Tarefas. 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 quiser tirar partido destas funcionalidades, deve invocar o shell na linha de comandos, 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 Tarefa) ou usar a variável de ambiente Batch provided (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).
commandLine: string
Valor de Propriedade
string
constraints
Restrições que se aplicam à Tarefa de Preparação para o Emprego.
constraints?: BatchTaskConstraints
Valor de Propriedade
containerSettings
As definições do contentor sob o qual a Tarefa de Preparação de Tarefas corre. Quando isto é especificado, todos os diretórios recursivamente abaixo do AZ_BATCH_NODE_ROOT_DIR (a raiz dos Azure Batch diretórios no nó) são mapeados para o contentor, todas as variáveis do ambiente Tarefa são mapeadas para o contentor e a linha de comandos Tarefa é executada no contentor. Ficheiros produzidos no contentor fora de AZ_BATCH_NODE_ROOT_DIR podem não ser refletidos para o disco anfitrião, o que significa que as APIs de ficheiros Batch não poderão aceder a esses ficheiros.
containerSettings?: BatchTaskContainerSettings
Valor de Propriedade
environmentSettings
Uma lista de definições de variáveis de ambiente para a Tarefa de Preparação de Trabalho.
environmentSettings?: EnvironmentSetting[]
Valor de Propriedade
id
Uma cadeia que identifica de forma única a Tarefa de Preparação do Trabalho dentro do Trabalho. O ID pode conter qualquer combinação de caracteres alfanuméricos, incluindo hífenes e sublinhados, e não pode conter mais de 64 caracteres. Se não especificar esta propriedade, o serviço Batch atribui um valor padrão de 'preparação para o trabalho'. Nenhuma outra Tarefa no Trabalho pode ter o mesmo ID que a Tarefa de Preparação do Trabalho. Se tentar submeter uma Tarefa com o mesmo id, o serviço Batch rejeita o pedido com o código de erro TaskIdSameAsJobPreparationTask; se estiver a chamar diretamente a API REST, o código de estado HTTP é 409 (Conflito).
id?: string
Valor de Propriedade
string
rerunOnNodeRebootAfterSuccess
Se o serviço Batch deve reexecutar a Tarefa de Preparação de Tarefas após o reinício de um Nó de Computação. A Tarefa de Preparação de Trabalho é sempre reexecutada se um Nó de Computação for reimaginado, ou se a Tarefa de Preparação de Tarefas não foi concluída (por exemplo, porque o reinício ocorreu enquanto a Tarefa estava a correr). Por isso, deve sempre escrever uma Tarefa de Preparação de Tarefas para ser idempotente e comportar-se corretamente se for executada várias vezes. O valor predefinido é true.
rerunOnNodeRebootAfterSuccess?: boolean
Valor de Propriedade
boolean
resourceFiles
Uma lista de arquivos que o serviço em lote baixará para o nó de computação antes de executar a linha de comando. Os arquivos listados sob este elemento estão localizados no diretório de trabalho da tarefa. Há um tamanho máximo para a lista de arquivos de recursos. 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 deve ser reduzida em tamanho. Isso pode ser feito usando arquivos .zip, pacotes de aplicativos ou contêineres do Docker.
resourceFiles?: ResourceFile[]
Valor de Propriedade
userIdentity
A identidade do utilizador sob a qual a Tarefa de Preparação de Tarefas é executada. Se omitida, a Tarefa é executada como um utilizador não administrativo único da Tarefa nos Nós de Computação do Windows, ou como um utilizador não administrativo exclusivo do Pool nos Nós de Computação Linux.
userIdentity?: UserIdentity
Valor de Propriedade
waitForSuccess
Se o serviço Batch deve esperar que a Tarefa de Preparação de Trabalho seja concluída com sucesso antes de agendar quaisquer outras Tarefas do Trabalho no Nó de Computação. Uma Tarefa de Preparação de Trabalho foi concluída com sucesso se sair com código de saída 0. Se for verdade e a Tarefa de Preparação de Tarefas falhar num nó, o serviço Batch tenta novamente a Tarefa de Preparação de Tarefas até ao seu número máximo de tentativas (conforme especificado no elemento de restrições). Se a Tarefa ainda não tiver sido concluída com sucesso após todas as tentativas, então o serviço Batch não irá agendar as Tarefas do Trabalho para o nó. O Nó mantém-se ativo e elegível para executar Tarefas de outros Profissionais. Se for falso, o serviço em lote não espera que a Tarefa de Preparação de Trabalho seja concluída. Neste caso, outras Tarefas do Trabalho podem começar a ser executadas no Nó de Computação enquanto a Tarefa de Preparação de Tarefas ainda está a correr; e mesmo que a Tarefa de Preparação de Tarefas falhe, novas Tarefas continuarão a ser agendadas no Nó de Computação. O valor predefinido é true.
waitForSuccess?: boolean
Valor de Propriedade
boolean