Compartilhar via


Adicionar lógica de ramificação a um trabalho com a tarefa If/else

Use a tarefa If/else condition para adicionar lógica condicional booliana aos gráficos de tarefas. Essa tarefa consiste em um operador booliano e um par de operandos, em que os operandos podem fazer referência ao estado do trabalho ou da tarefa usando parâmetro dinâmicos ou configurados e valores de tarefa. Confira Parametrizar trabalhos.

Por exemplo, vamos supor que você tenha uma tarefa chamada process_records que mantém uma contagem de registros que não são válidos em um valor chamado bad_records e você deseja ramificar o processamento ao encontrar registros inadequados. Para adicionar essa lógica ao fluxo de trabalho, você pode criar uma tarefa If/else condition com uma expressão como {{tasks.process_records.values.bad_records}} > 0. Em seguida, você pode adicionar tarefas dependentes com base nos resultados da condição.

Após executar um trabalho que contém uma tarefa If/else condition, você poderá exibir o resultado e os detalhes da avaliação da expressão ao exibir os detalhes da execução do trabalho na interface do usuário. Confira Exibir detalhes da execução do trabalho.

Observação

  • Valores numéricos e não numéricos são tratados de forma diferente, dependendo do operador booliano:
    • Os operadores == e != executam a comparação de cadeia de caracteres dos operandos. Por exemplo, 12.0 == 12 é avaliado como falso.
    • Os operadores >, >= e <= executam comparações numéricas dos operandos. Por exemplo, 12.0 >= 12 é avaliado como true e 10.0 >= 12 é avaliado como false.
    • Somente valores numéricos, de cadeia de caracteres e boolianos são permitidos ao referenciar valores de tarefa em um operando. Qualquer outro tipo fará com que a expressão de condição falhe. Tipos de valor não numérico são serializados em cadeias de caracteres e são tratados como cadeias de caracteres em expressões If/else condition. Por exemplo, se um valor de tarefa for definido como um valor booliano, ele será serializado para "true" ou "false".

Configurar uma tarefa If/else

Adicione uma tarefa If/else condition na guia Tarefas na interface do usuário de trabalhos fazendo o seguinte:

  1. No menu suspenso Tipo, selecione If/else condition.
  2. Na primeira caixa de texto Condição, insira o operando a ser avaliado. O operando pode fazer referência a qualquer um dos seguintes:
    • A variável de parâmetro de um trabalho.
    • A variável de parâmetro de uma tarefa.
    • Um valor de tarefa.
  3. Selecione um operador booliano no menu suspenso.
  4. Na segunda caixa de texto Condição, insira o valor para avaliar a condição.
  5. Clique em Salvar tarefa.

Configurar dependências em uma condição If/else

Configure dependências na tarefa If/else condition diretamente no gráfico de tarefas na guia Tarefas fazendo o seguinte:

  1. Selecione a tarefa If/else condition no gráfico de tarefas e clique em + Adicionar tarefa.
  2. Insira os detalhes da tarefa. O campo Depende de aplicará <task-name> (true) por padrão, com <task-name> indicando o nome da tarefa If/else condition.
    • Selecione <task-name> (false) para configurar uma tarefa que é executada mediante uma avaliação de condição falsa.

Você pode configurar várias tarefas para execução em série ou paralelo com base no resultado de um If/else condition. Considere configurar Run if dependencies se precisar de execuções condicionadas com base em falhas de tarefas upstream. Consulte Configurar dependências de tarefas.