BatchJobManagerTask interface

Especifica os detalhes de uma Tarefa do Gerenciador de Tarefas. A Tarefa do Gestor de Tarefas é iniciada automaticamente quando a Tarefa é criada. O serviço em lote tenta agendar a tarefa do gerenciador de tarefas antes de qualquer outra tarefa no trabalho. Ao reduzir um Pool, o serviço de Lote tenta preservar os Nós onde as Tarefas do Gerenciador de Tarefas estão sendo executadas pelo maior tempo possível (ou seja, os Nós de Computação que executam Tarefas 'normais' são removidos antes que os Nós de Computação executem as Tarefas do Gerenciador de Tarefas). Quando uma tarefa do Job Manager falha e precisa ser reiniciada, o sistema tenta programá-la com a prioridade mais alta. Se não houver nós de computação ociosos disponíveis, o sistema poderá encerrar uma das Tarefas em execução no Pool e devolvê-la à fila para abrir espaço para a reinicialização da Tarefa do Gerenciador de Tarefas. Observe que uma Tarefa do Gerenciador de Tarefas em um Trabalho não tem prioridade sobre as Tarefas em outros Trabalhos. Em todos os empregos, apenas as prioridades de nível de trabalho são observadas. Por exemplo, se um Gerente de Tarefas em um Trabalho de prioridade 0 precisar ser reiniciado, ele não substituirá Tarefas de um Trabalho de prioridade 1. 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

allowLowPriorityNode

Se a Tarefa do Gestor de Jobs pode correr num nó de computação de Spot/Baixa Prioridade. O valor predefinido é true.

applicationPackageReferences

Uma lista de Pacotes de Aplicação que o serviço Batch irá implementar no Nó de Computação antes de executar a linha de comandos. Os Pacotes de Aplicação são descarregados e implementados num diretório partilhado, não no diretório de trabalho Tarefa. Portanto, se um Pacote de Aplicação referenciado já estiver no Nó de Computação e estiver atualizado, então não é descarregado novamente; a cópia existente no Nó de Computação é utilizada. Se um Pacote de Aplicação referenciado não puder ser instalado, por exemplo porque o pacote foi eliminado ou porque o download falhou, a Tarefa falha.

commandLine

A linha de comandos da Tarefa do Gestor de Trabalhos. 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 do Gestor de Funções.

containerSettings

As definições do contentor sob o qual a Tarefa do Gestor de Jobs é executada. Se o Pool que irá executar esta tarefa tiver containerConfiguration definido, isto também deve ser definido. Se o Pool que irá executar esta Tarefa não tiver containerConfiguration ativado, isto não deve estar definido. 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.

displayName

O nome de exibição da Tarefa do Gestor de Trabalhos. Não precisa de ser único e pode conter quaisquer caracteres Unicode até um comprimento máximo de 1024.

environmentSettings

Uma lista de definições de variáveis de ambiente para a Tarefa do Gestor de Trabalhos.

id

Uma cadeia que identifica de forma única a Tarefa do Gestor de Tarefas 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.

killJobOnCompletion

Se a conclusão da Tarefa de Gestor de Trabalho significa a conclusão de toda a Tarefa. Se for verdade, quando a Tarefa do Gestor de Trabalhos termina, o serviço Batch marca o Trabalho como concluído. Se houver Tarefas ainda a correr neste momento (exceto a Libertação de Emprego), essas Tarefas são terminadas. Se for falso, a conclusão da Tarefa do Gestor de Tarefas não afeta o estado do Trabalho. Neste caso, deve usar o atributo onAllTasksComplete para terminar o Trabalho, ou fazer com que um cliente ou utilizador termine explicitamente o Trabalho. Um exemplo disto é se o Gestor de Tarefas cria um conjunto de Tarefas, mas depois não assume mais papel na sua execução. O valor predefinido é true. Se estiver a usar os atributos onAllTasksComplete e onTaskFailure para controlar a vida útil do Job, e a usar a Task do Job Manager apenas para criar as Tasks do Job (não para monitorizar o progresso), então é importante definir killJobOnCompletion como false.

outputFiles

Uma lista de ficheiros que o serviço Batch irá carregar do Nó de Computação após executar a linha de comandos. Para Tarefas de múltiplas instâncias, os ficheiros só serão carregados a partir do Nó de Computação onde a Tarefa principal é executada.

requiredSlots

O número de espaços de agendamento que a Tarefa requer para executar. O valor predefinido é 1. Uma Tarefa só pode ser agendada para correr num nó de computação se este tiver espaços de agendamento livres suficientes. Para Tarefas de múltiplas instâncias, esta propriedade não é suportada e não deve ser especificada.

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.

runExclusive

Se a Tarefa do Gestor de Tarefas requer uso exclusivo do Nó de Computação onde é executada. Se for verdade, nenhuma outra Tarefa irá correr no mesmo nó enquanto o Gestor de Tarefas estiver a funcionar. Se for falso, outras Tarefas podem correr simultaneamente com o Gestor de Trabalhos num Nó de Computação. A Tarefa do Gestor de Trabalhos conta normalmente contra o limite concorrente de Tarefas do Nó de Computação, pelo que isto só é relevante se o Nó de Cálculo permitir múltiplas Tarefas concorrentes. O valor predefinido é true.

userIdentity

A identidade do utilizador sob a qual a Tarefa do Gestor de Jobs é executada. Se omitida, a Tarefa é executada como um utilizador não administrativo único da Tarefa.

Detalhes de Propriedade

allowLowPriorityNode

Se a Tarefa do Gestor de Jobs pode correr num nó de computação de Spot/Baixa Prioridade. O valor predefinido é true.

allowLowPriorityNode?: boolean

Valor de Propriedade

boolean

applicationPackageReferences

Uma lista de Pacotes de Aplicação que o serviço Batch irá implementar no Nó de Computação antes de executar a linha de comandos. Os Pacotes de Aplicação são descarregados e implementados num diretório partilhado, não no diretório de trabalho Tarefa. Portanto, se um Pacote de Aplicação referenciado já estiver no Nó de Computação e estiver atualizado, então não é descarregado novamente; a cópia existente no Nó de Computação é utilizada. Se um Pacote de Aplicação referenciado não puder ser instalado, por exemplo porque o pacote foi eliminado ou porque o download falhou, a Tarefa falha.

applicationPackageReferences?: BatchApplicationPackageReference[]

Valor de Propriedade

commandLine

A linha de comandos da Tarefa do Gestor de Trabalhos. 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 do Gestor de Funções.

constraints?: BatchTaskConstraints

Valor de Propriedade

containerSettings

As definições do contentor sob o qual a Tarefa do Gestor de Jobs é executada. Se o Pool que irá executar esta tarefa tiver containerConfiguration definido, isto também deve ser definido. Se o Pool que irá executar esta Tarefa não tiver containerConfiguration ativado, isto não deve estar definido. 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

displayName

O nome de exibição da Tarefa do Gestor de Trabalhos. Não precisa de ser único e pode conter quaisquer caracteres Unicode até um comprimento máximo de 1024.

displayName?: string

Valor de Propriedade

string

environmentSettings

Uma lista de definições de variáveis de ambiente para a Tarefa do Gestor de Trabalhos.

environmentSettings?: EnvironmentSetting[]

Valor de Propriedade

id

Uma cadeia que identifica de forma única a Tarefa do Gestor de Tarefas 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.

id: string

Valor de Propriedade

string

killJobOnCompletion

Se a conclusão da Tarefa de Gestor de Trabalho significa a conclusão de toda a Tarefa. Se for verdade, quando a Tarefa do Gestor de Trabalhos termina, o serviço Batch marca o Trabalho como concluído. Se houver Tarefas ainda a correr neste momento (exceto a Libertação de Emprego), essas Tarefas são terminadas. Se for falso, a conclusão da Tarefa do Gestor de Tarefas não afeta o estado do Trabalho. Neste caso, deve usar o atributo onAllTasksComplete para terminar o Trabalho, ou fazer com que um cliente ou utilizador termine explicitamente o Trabalho. Um exemplo disto é se o Gestor de Tarefas cria um conjunto de Tarefas, mas depois não assume mais papel na sua execução. O valor predefinido é true. Se estiver a usar os atributos onAllTasksComplete e onTaskFailure para controlar a vida útil do Job, e a usar a Task do Job Manager apenas para criar as Tasks do Job (não para monitorizar o progresso), então é importante definir killJobOnCompletion como false.

killJobOnCompletion?: boolean

Valor de Propriedade

boolean

outputFiles

Uma lista de ficheiros que o serviço Batch irá carregar do Nó de Computação após executar a linha de comandos. Para Tarefas de múltiplas instâncias, os ficheiros só serão carregados a partir do Nó de Computação onde a Tarefa principal é executada.

outputFiles?: OutputFile[]

Valor de Propriedade

requiredSlots

O número de espaços de agendamento que a Tarefa requer para executar. O valor predefinido é 1. Uma Tarefa só pode ser agendada para correr num nó de computação se este tiver espaços de agendamento livres suficientes. Para Tarefas de múltiplas instâncias, esta propriedade não é suportada e não deve ser especificada.

requiredSlots?: number

Valor de Propriedade

number

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

runExclusive

Se a Tarefa do Gestor de Tarefas requer uso exclusivo do Nó de Computação onde é executada. Se for verdade, nenhuma outra Tarefa irá correr no mesmo nó enquanto o Gestor de Tarefas estiver a funcionar. Se for falso, outras Tarefas podem correr simultaneamente com o Gestor de Trabalhos num Nó de Computação. A Tarefa do Gestor de Trabalhos conta normalmente contra o limite concorrente de Tarefas do Nó de Computação, pelo que isto só é relevante se o Nó de Cálculo permitir múltiplas Tarefas concorrentes. O valor predefinido é true.

runExclusive?: boolean

Valor de Propriedade

boolean

userIdentity

A identidade do utilizador sob a qual a Tarefa do Gestor de Jobs é executada. Se omitida, a Tarefa é executada como um utilizador não administrativo único da Tarefa.

userIdentity?: UserIdentity

Valor de Propriedade