Adicionar lógica de ramificação a um trabalho com a tarefa Se/senão
Use a If/else condition
tarefa para adicionar lógica condicional booleana aos gráficos de tarefas. Essas tarefas consistem em um operador booleano e um par de operandos, onde os operandos podem fazer referência ao trabalho ou estado da tarefa usando parâmetros configurados ou dinâmicos ou valores de tarefa. Consulte Parametrizar trabalhos.
Por exemplo, suponha que você tenha uma tarefa nomeada process_records
que mantenha uma contagem de registros que não são válidos em um valor chamado bad_records
, e deseja ramificar o processamento quando encontrar registros incorretos. Para adicionar essa lógica ao seu fluxo de trabalho, você pode criar uma If/else condition
tarefa 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 uma execução de trabalho contendo uma If/else condition
tarefa, você pode exibir o resultado e os detalhes da avaliação da expressão quando exibir os detalhes da execução do trabalho na interface do usuário. Consulte Exibir detalhes da execução do trabalho.
Nota
- Os valores numéricos e não numéricos são tratados de forma diferente, dependendo do operador booleano:
- Os
==
operadores e!=
executam a comparação de cadeia de caracteres de seus operandos. Por exemplo,12.0 == 12
avalia como falso. - Os
>
operadores ,>=
e<=
executam comparações numéricas de seus operandos. Por exemplo,12.0 >= 12
avalia como verdadeiro e10.0 >= 12
avalia como falso. - Somente valores numéricos, de cadeia de caracteres e booleanos são permitidos ao fazer referência a valores de tarefa em um operando. Quaisquer outros tipos farão com que a expressão da condição falhe. Tipos de valores não numéricos são serializados em cadeias de caracteres e são tratados como cadeias de caracteres em
If/else condition
expressões. Por exemplo, se um valor de tarefa é definido como um valor booleano, ele é serializado para"true"
ou"false"
.
- Os
Configurar uma tarefa Se/não
Adicione uma If/else condition
tarefa da guia Tarefas na interface do usuário Trabalhos fazendo o seguinte:
- No menu suspenso Tipo, selecione
If/else condition
. - Insira o operando a ser avaliado na primeira caixa de texto Condição . O operando pode fazer referência a qualquer um dos seguintes:
- Uma variável de parâmetro de trabalho.
- Uma variável de parâmetro de tarefa.
- Um valor de tarefa.
- Selecione um operador booleano 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 If/else condition
tarefa a partir do gráfico de tarefas na guia Tarefas fazendo o seguinte:
- Selecione a
If/else condition
tarefa no gráfico de tarefas e clique em + Adicionar tarefa. - Insira os detalhes da tarefa. O campo Depende de
<task-name> (true)
assume como padrão onde<task-name>
é o nome daIf/else condition
tarefa.- Selecione
<task-name> (false)
esta opção para configurar uma tarefa que é executada em uma avaliação de condição falsa.
- Selecione
Você pode configurar várias tarefas para serem executadas em série ou paralelas com base no resultado de um If/else condition
arquivo . Considere configurar Run if dependencies
se precisar de execuções condicionais com base em falhas de tarefas upstream. Consulte Configurar dependências de tarefas.