Partilhar via


BatchJobReleaseTask interface

Uma Tarefa de Liberação de Trabalho a ser executada na conclusão do Trabalho em qualquer Nó de Computação em que o Trabalho tenha sido executado. A Tarefa de Liberação de Trabalho é executada quando o Trabalho termina, devido a um dos seguintes motivos: O usuário chama a API Encerrar Trabalho ou a API Excluir Trabalho enquanto o Trabalho ainda está ativo, a restrição máxima de tempo de relógio de parede do Trabalho é atingida e o Trabalho ainda está ativo, ou a Tarefa do Gerenciador de Trabalho é concluída e o Trabalho é configurado para ser encerrado quando o Gerenciador de Trabalho é concluído. A Tarefa de Liberação de Trabalho é executada em cada Nó em que as Tarefas do Trabalho foram executadas e a Tarefa de Preparação de Trabalho executada e concluída. Se você recriar a imagem de um Nó depois que ele tiver executado a Tarefa de Preparação de Trabalho e o Trabalho terminar sem que outras Tarefas do Trabalho sejam executadas nesse Nó (e, portanto, a Tarefa de Preparação de Trabalho não será executada novamente), a Tarefa de Liberação de Trabalho não será executada nesse Nó de Computação. Se um Nó for reinicializado enquanto a Tarefa de Liberação de Trabalho ainda estiver em execução, a Tarefa de Liberação de Trabalho será executada novamente quando o Nó de Computação for iniciado. O Trabalho não é marcado como concluído até que todas as Tarefas de Liberação de Trabalho tenham sido concluídas. A Tarefa de Liberação de Trabalho é executada em segundo plano. Não ocupa uma faixa horária; ou seja, ele não conta para o limite taskSlotsPerNode especificado no Pool.

Propriedades

commandLine

A linha de comando da Tarefa de Liberação de Trabalho. 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. 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).

containerSettings

As configurações do contêiner sob o qual a Tarefa de Liberação de Trabalho é executada. 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 Tarefa é executada no contêiner. Os arquivos produzidos no contêiner fora de AZ_BATCH_NODE_ROOT_DIR podem não ser refletidos no disco host, o que significa que as APIs de arquivo em lote não poderão acessar esses arquivos.

environmentSettings

Uma lista de configurações de variáveis de ambiente para a Tarefa de Liberação de Trabalho.

id

Uma cadeia de caracteres que identifica exclusivamente a Tarefa de Liberação de 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 você não especificar essa propriedade, o serviço Batch atribuirá um valor padrão de 'jobrelease'. Nenhuma outra Tarefa no Trabalho pode ter a mesma ID que a Tarefa de Liberação de Trabalho. Se você tentar enviar uma tarefa com a mesma id, o serviço de lote rejeitará a solicitação com o código de erro TaskIdSameAsJobReleaseTask; se você estiver chamando a API REST diretamente, o código de status HTTP será 409 (Conflito).

maxWallClockTime

O tempo máximo decorrido que a Tarefa de Liberação de Trabalho pode ser executada em um determinado Nó de Computação, medido a partir do momento em que a Tarefa é iniciada. Se a Tarefa não for concluída dentro do prazo, o serviço em lote a encerrará. O valor padrão é 15 minutos. Não é possível especificar um tempo limite superior a 15 minutos. Se o fizer, o serviço Batch rejeita-o com um erro; se você estiver chamando a API REST diretamente, o código de status HTTP será 400 (Solicitação incorreta).

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. 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. Os arquivos listados sob este elemento estão localizados no diretório de trabalho da tarefa.

retentionTime

O tempo mínimo para reter o diretório de tarefas para a tarefa de liberação de trabalho no nó de computação. Após esse tempo, o serviço de lote pode excluir o diretório de tarefas e todo o seu conteúdo. O padrão é 7 dias, ou seja, o diretório de tarefas será mantido por 7 dias, a menos que o nó de computação seja removido ou o trabalho seja excluído.

userIdentity

A identidade do usuário sob a qual a Tarefa de Liberação de Trabalho é executada. Se omitida, a Tarefa é executada como um usuário não administrativo exclusivo para a Tarefa.

Detalhes de Propriedade

commandLine

A linha de comando da Tarefa de Liberação de Trabalho. 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. 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

containerSettings

As configurações do contêiner sob o qual a Tarefa de Liberação de Trabalho é executada. 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 Tarefa é executada no contêiner. Os arquivos produzidos no contêiner fora de AZ_BATCH_NODE_ROOT_DIR podem não ser refletidos no disco host, o que significa que as APIs de arquivo em lote não poderão acessar esses arquivos.

containerSettings?: BatchTaskContainerSettings

Valor de Propriedade

environmentSettings

Uma lista de configurações de variáveis de ambiente para a Tarefa de Liberação de Trabalho.

environmentSettings?: EnvironmentSetting[]

Valor de Propriedade

id

Uma cadeia de caracteres que identifica exclusivamente a Tarefa de Liberação de 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 você não especificar essa propriedade, o serviço Batch atribuirá um valor padrão de 'jobrelease'. Nenhuma outra Tarefa no Trabalho pode ter a mesma ID que a Tarefa de Liberação de Trabalho. Se você tentar enviar uma tarefa com a mesma id, o serviço de lote rejeitará a solicitação com o código de erro TaskIdSameAsJobReleaseTask; se você estiver chamando a API REST diretamente, o código de status HTTP será 409 (Conflito).

id?: string

Valor de Propriedade

string

maxWallClockTime

O tempo máximo decorrido que a Tarefa de Liberação de Trabalho pode ser executada em um determinado Nó de Computação, medido a partir do momento em que a Tarefa é iniciada. Se a Tarefa não for concluída dentro do prazo, o serviço em lote a encerrará. O valor padrão é 15 minutos. Não é possível especificar um tempo limite superior a 15 minutos. Se o fizer, o serviço Batch rejeita-o com um erro; se você estiver chamando a API REST diretamente, o código de status HTTP será 400 (Solicitação incorreta).

maxWallClockTime?: string

Valor de Propriedade

string

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. 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. Os arquivos listados sob este elemento estão localizados no diretório de trabalho da tarefa.

resourceFiles?: ResourceFile[]

Valor de Propriedade

retentionTime

O tempo mínimo para reter o diretório de tarefas para a tarefa de liberação de trabalho no nó de computação. Após esse tempo, o serviço de lote pode excluir o diretório de tarefas e todo o seu conteúdo. O padrão é 7 dias, ou seja, o diretório de tarefas será mantido por 7 dias, a menos que o nó de computação seja removido ou o trabalho seja excluído.

retentionTime?: string

Valor de Propriedade

string

userIdentity

A identidade do usuário sob a qual a Tarefa de Liberação de Trabalho é executada. Se omitida, a Tarefa é executada como um usuário não administrativo exclusivo para a Tarefa.

userIdentity?: UserIdentity

Valor de Propriedade