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 e10.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"
.
- Os operadores
Configurar uma tarefa If/else
Adicione uma tarefa If/else condition
na guia Tarefas na interface do usuário de trabalhos fazendo o seguinte:
- No menu suspenso Tipo, selecione
If/else condition
. - 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.
- Selecione um operador booliano no menu suspenso.
- Na segunda caixa de texto Condição, insira o valor para avaliar a condição.
- 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:
- Selecione a tarefa
If/else condition
no gráfico de tarefas e clique em + Adicionar tarefa. - Insira os detalhes da tarefa. O campo Depende de aplicará
<task-name> (true)
por padrão, com<task-name>
indicando o nome da tarefaIf/else condition
.- Selecione
<task-name> (false)
para configurar uma tarefa que é executada mediante uma avaliação de condição falsa.
- Selecione
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.