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

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).

constraints

Restrições que se aplicam à Tarefa de Preparação para o Emprego.

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.

environmentSettings

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).

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.

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.

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.

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.

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