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, os operandos where podem fazer referência ao estado do trabalho ou da tarefa usando tarefas configuradas ou dinâmicas parameters ou values. 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 values 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 números, cadeias de caracteres e valores booleanos values são permitidos ao fazer referência à tarefa , values, 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 for set comparado a um valor booleano, será 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 deslizante do Tipo , select
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.
- Select 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:
-
Select a tarefa
If/else condition
no diagrama de tarefas e clique em + Adicionar tarefa. - Insira os detalhes da tarefa. O Depende de campo assume como padrão
<task-name> (true)
where<task-name>
é o nome da tarefaIf/else condition
.-
Select
<task-name> (false)
configurar uma tarefa que se executa com uma condição avaliada como falsa.
-
Select
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.