Partilhar via


StartTask Classe

  • java.lang.Object
    • com.microsoft.azure.management.batch.StartTask

public class StartTask

Uma tarefa que é executada quando um nó de computação ingressa em um pool no serviço Lote do Azure ou quando o nó de computação é reinicializado ou recriado. Em alguns casos, a tarefa inicial pode ser executada novamente, mesmo que o nó não tenha sido reinicializado. Devido a isso, as tarefas iniciais devem ser idempotentes e sair normalmente se a configuração que estão executando já tiver sido feita. Cuidados especiais devem ser tomados para evitar tarefas iniciais que criam o processo de interrupção ou instalação/inicialização de serviços do diretório de trabalho da tarefa inicial, pois isso impedirá que o Lote seja capaz de executar novamente a tarefa inicial.

Resumo do método

Modificador e tipo Método e descrição
String commandLine()

Obter 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 você quiser aproveitar esses recursos, invoque o shell na linha de comando, por exemplo, usando "cmd /c MyCommand" no Windows ou "/bin/sh -c MyCommand" no Linux. Obrigatório se outras propriedades do startTask forem especificadas.

TaskContainerSettings containerSettings()

Obtenha quando isso for especificado, todos os diretórios recursivamente abaixo do AZ_BATCH_NODE_ROOT_DIR (a raiz de Lote do Azure diretórios no nó) são mapeados para o contêiner, todas as variáveis de ambiente de tarefa são mapeadas para o contêiner e a linha de comando da tarefa é executada no contêiner.

List<EnvironmentSetting> environmentSettings()

Obtenha o valor environmentSettings.

Integer maxTaskRetryCount()

Obter o serviço do Lote tentará novamente uma tarefa se o código de saída for diferente de zero. Observe que esse valor controla especificamente o número de tentativas. O serviço em lotes tentará a tarefa uma vez e, em seguida, pode tentar novamente até esse limite. Por exemplo, se a contagem máxima de repetições for 3, o Lote tentará a tarefa até 4 vezes (uma tentativa inicial e três novas tentativas). Se a contagem máxima de repetições for 0, o serviço do Lote não repetirá a tarefa. Se a contagem máxima de repetição for -1, o serviço do Lote repetirá a tarefa sem limite.

List<ResourceFile> resourceFiles()

Obtenha o valor resourceFiles.

UserIdentity userIdentity()

Se for omitida, a tarefa será executada como um usuário não administrativo exclusivo para a tarefa.

Boolean waitForSuccess()

Se for true e a tarefa inicial falhar em um nó de computação, o serviço do Lote tentará novamente a tarefa inicial até sua contagem máxima de repetição (maxTaskRetryCount). Se a tarefa ainda não tiver sido concluída com êxito após todas as novas tentativas, o serviço do Lote marcará o nó de computação inutilizável e não agendará tarefas para ela. Essa condição pode ser detectada por meio do estado do nó e dos detalhes do erro de agendamento. Se for falso, o serviço do Lote não aguardará a conclusão da tarefa inicial. Nesse caso, outras tarefas podem começar a ser executadas no nó de computação enquanto a tarefa inicial ainda estiver em execução; e mesmo que a tarefa inicial falhe, novas tarefas continuarão a ser agendadas no nó. O padrão é true.

StartTask withCommandLine(String commandLine)

Definir a linha de comando não é executado em 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, invoque o shell na linha de comando, por exemplo, usando "cmd /c MyCommand" no Windows ou "/bin/sh -c MyCommand" no Linux. Obrigatório se quaisquer outras propriedades do startTask forem especificadas.

StartTask withContainerSettings(TaskContainerSettings containerSettings)

Definido quando isso é especificado, todos os diretórios recursivamente abaixo do AZ_BATCH_NODE_ROOT_DIR (a raiz de Lote do Azure diretórios no nó) são mapeados para o contêiner, todas as variáveis de ambiente de tarefa são mapeadas para o contêiner e a linha de comando da tarefa é executada no contêiner.

StartTask withEnvironmentSettings(List<EnvironmentSetting> environmentSettings)

Defina o valor environmentSettings.

StartTask withMaxTaskRetryCount(Integer maxTaskRetryCount)

Defina o serviço do Lote repetirá uma tarefa se o código de saída não for zero. Observe que esse valor controla especificamente o número de tentativas. O serviço em lotes tentará a tarefa uma vez e, em seguida, pode tentar novamente até esse limite. Por exemplo, se a contagem máxima de repetições for 3, o Lote tentará a tarefa até 4 vezes (uma tentativa inicial e três tentativas). Se a contagem máxima de repetição for 0, o serviço do Lote não repetirá a tarefa. Se a contagem máxima de repetição for -1, o serviço do Lote repetirá a tarefa sem limite.

StartTask withResourceFiles(List<ResourceFile> resourceFiles)

Defina o valor resourceFiles.

StartTask withUserIdentity(UserIdentity userIdentity)

Definir se omitido, a tarefa será executada como um usuário não administrativo exclusivo para a tarefa.

StartTask withWaitForSuccess(Boolean waitForSuccess)

Definir se true e a tarefa inicial falhar em um nó de computação, o serviço do Lote tentará novamente a tarefa inicial até sua contagem máxima de repetição (maxTaskRetryCount). Se a tarefa ainda não tiver sido concluída com êxito após todas as novas tentativas, o serviço do Lote marcará o nó de computação inutilizável e não agendará tarefas para ela. Essa condição pode ser detectada por meio do estado do nó e dos detalhes do erro de agendamento. Se for falso, o serviço do Lote não aguardará a conclusão da tarefa inicial. Nesse caso, outras tarefas podem começar a ser executadas no nó de computação enquanto a tarefa inicial ainda estiver em execução; e mesmo que a tarefa inicial falhe, novas tarefas continuarão a ser agendadas no nó. O padrão é true.

Detalhes do método

commandLine

public String commandLine()

Obter 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 você quiser aproveitar esses recursos, invoque o shell na linha de comando, por exemplo, usando "cmd /c MyCommand" no Windows ou "/bin/sh -c MyCommand" no Linux. Obrigatório se outras propriedades do startTask forem especificadas.

Retornos:

o valor commandLine

containerSettings

public TaskContainerSettings containerSettings()

Obtenha quando isso for especificado, todos os diretórios recursivamente abaixo do AZ_BATCH_NODE_ROOT_DIR (a raiz de Lote do Azure diretórios no nó) são mapeados para o contêiner, todas as variáveis de ambiente de tarefa são mapeadas para o contêiner e a linha de comando da tarefa é executada no contêiner.

Retornos:

o valor containerSettings

environmentSettings

public List environmentSettings()

Obtenha o valor environmentSettings.

Retornos:

o valor environmentSettings

maxTaskRetryCount

public Integer maxTaskRetryCount()

Obter o serviço do Lote tentará novamente uma tarefa se o código de saída for diferente de zero. Observe que esse valor controla especificamente o número de tentativas. O serviço em lotes tentará a tarefa uma vez e, em seguida, pode tentar novamente até esse limite. Por exemplo, se a contagem máxima de repetições for 3, o Lote tentará a tarefa até 4 vezes (uma tentativa inicial e três novas tentativas). Se a contagem máxima de repetições for 0, o serviço do Lote não repetirá a tarefa. Se a contagem máxima de repetição for -1, o serviço do Lote repetirá a tarefa sem limite.

Retornos:

o valor maxTaskRetryCount

resourceFiles

public List resourceFiles()

Obtenha o valor resourceFiles.

Retornos:

o valor resourceFiles

userIdentity

public UserIdentity userIdentity()

Se for omitida, a tarefa será executada como um usuário não administrativo exclusivo para a tarefa.

Retornos:

o valor userIdentity

waitForSuccess

public Boolean waitForSuccess()

Se for true e a tarefa inicial falhar em um nó de computação, o serviço do Lote tentará novamente a tarefa inicial até sua contagem máxima de repetição (maxTaskRetryCount). Se a tarefa ainda não tiver sido concluída com êxito após todas as novas tentativas, o serviço do Lote marcará o nó de computação inutilizável e não agendará tarefas para ela. Essa condição pode ser detectada por meio do estado do nó e dos detalhes do erro de agendamento. Se for falso, o serviço do Lote não aguardará a conclusão da tarefa inicial. Nesse caso, outras tarefas podem começar a ser executadas no nó de computação enquanto a tarefa inicial ainda estiver em execução; e mesmo que a tarefa inicial falhe, novas tarefas continuarão a ser agendadas no nó. O padrão é true.

Retornos:

o valor waitForSuccess

withCommandLine

public StartTask withCommandLine(String commandLine)

Definir a linha de comando não é executado em 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, invoque o shell na linha de comando, por exemplo, usando "cmd /c MyCommand" no Windows ou "/bin/sh -c MyCommand" no Linux. Obrigatório se quaisquer outras propriedades do startTask forem especificadas.

Parâmetros:

commandLine - o valor commandLine a ser definido

Retornos:

o objeto StartTask em si.

withContainerSettings

public StartTask withContainerSettings(TaskContainerSettings containerSettings)

Definido quando isso é especificado, todos os diretórios recursivamente abaixo do AZ_BATCH_NODE_ROOT_DIR (a raiz de Lote do Azure diretórios no nó) são mapeados para o contêiner, todas as variáveis de ambiente de tarefa são mapeadas para o contêiner e a linha de comando da tarefa é executada no contêiner.

Parâmetros:

containerSettings - o valor containerSettings a ser definido

Retornos:

o objeto StartTask em si.

withEnvironmentSettings

public StartTask withEnvironmentSettings(List environmentSettings)

Defina o valor environmentSettings.

Parâmetros:

environmentSettings - o valor environmentSettings a ser definido

Retornos:

o objeto StartTask em si.

withMaxTaskRetryCount

public StartTask withMaxTaskRetryCount(Integer maxTaskRetryCount)

Defina o serviço do Lote repetirá uma tarefa se o código de saída não for zero. Observe que esse valor controla especificamente o número de tentativas. O serviço em lotes tentará a tarefa uma vez e, em seguida, pode tentar novamente até esse limite. Por exemplo, se a contagem máxima de repetições for 3, o Lote tentará a tarefa até 4 vezes (uma tentativa inicial e três tentativas). Se a contagem máxima de repetição for 0, o serviço do Lote não repetirá a tarefa. Se a contagem máxima de repetição for -1, o serviço do Lote repetirá a tarefa sem limite.

Parâmetros:

maxTaskRetryCount - o valor maxTaskRetryCount a ser definido

Retornos:

o objeto StartTask em si.

withResourceFiles

public StartTask withResourceFiles(List resourceFiles)

Defina o valor resourceFiles.

Parâmetros:

resourceFiles - o valor resourceFiles a ser definido

Retornos:

o objeto StartTask em si.

withUserIdentity

public StartTask withUserIdentity(UserIdentity userIdentity)

Definir se omitido, a tarefa será executada como um usuário não administrativo exclusivo para a tarefa.

Parâmetros:

userIdentity - o valor userIdentity a ser definido

Retornos:

o objeto StartTask em si.

withWaitForSuccess

public StartTask withWaitForSuccess(Boolean waitForSuccess)

Definir se true e a tarefa inicial falhar em um nó de computação, o serviço do Lote tentará novamente a tarefa inicial até sua contagem máxima de repetição (maxTaskRetryCount). Se a tarefa ainda não tiver sido concluída com êxito após todas as novas tentativas, o serviço do Lote marcará o nó de computação inutilizável e não agendará tarefas para ela. Essa condição pode ser detectada por meio do estado do nó e dos detalhes do erro de agendamento. Se for falso, o serviço do Lote não aguardará a conclusão da tarefa inicial. Nesse caso, outras tarefas podem começar a ser executadas no nó de computação enquanto a tarefa inicial ainda estiver em execução; e mesmo que a tarefa inicial falhe, novas tarefas continuarão a ser agendadas no nó. O padrão é true.

Parâmetros:

waitForSuccess - o valor waitForSuccess a ser definido

Retornos:

o objeto StartTask em si.

Aplica-se a