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 booleana à tarefa gráfica. Essas tarefas consistem em um operador booleano e um par de operandos, em que os operandos podem fazer referência ao estado do trabalho ou da tarefa usando parâmetros configurados ou dinâmicos ou valores de tarefa. Consulte Parameterize Job.
Por exemplo, suponha que o senhor 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 deseja ramificar o processamento quando encontrar registros inválidos. Para adicionar essa lógica ao seu fluxo de trabalho, o senhor pode criar uma tarefa If/else condition
com uma expressão como {{tasks.process_records.values.bad_records}} > 0
. Em seguida, o senhor pode adicionar tarefas dependentes com base nos resultados da condição.
Após a execução de um trabalho que contenha uma tarefa If/else condition
, o senhor pode view o resultado e os detalhes da avaliação da expressão ao acessar view os detalhes da execução do trabalho na UI. Veja os detalhes da execução do trabalho.
Observação
Os valores numéricos e não numéricos são tratados de forma diferente, dependendo do operador booleano:
Os operadores
==
e!=
realizam a comparação de strings de seus operandos. Por exemplo,12.0 == 12
é avaliado como falso.Os operadores
>
,>=
e<=
realizam comparações numéricas de seus operandos. Por exemplo,12.0 >= 12
é avaliado como verdadeiro e10.0 >= 12
é avaliado como falso.Somente valores numéricos, cadeias de caracteres e booleanos são permitidos ao fazer referência a valores de tarefa em um operando. Qualquer outro tipo fará com que a expressão da condição falhe. Os tipos de valores não numéricos são serializados em strings e são tratados como strings em expressões
If/else condition
. Por exemplo, se um valor de tarefa for definido como um valor booleano, ele será serializado como"true"
ou"false"
.
Configurar uma tarefa If/else
Adicione uma tarefa If/else condition
da tarefa tab na interface do usuário de Jobs 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 Save task (Salvar tarefa).
Configurar dependências em uma condição IF/Else
Configure as dependências na tarefa If/else condition
da tarefa gráfica na tarefa tab 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 Depends on (Depende de ) tem como padrão
<task-name> (true)
, em que<task-name>
é o nome da tarefaIf/else condition
.Selecione
<task-name> (false)
para configurar uma tarefa que seja executada em uma avaliação de condição falsa.
O senhor pode configurar várias tarefas para execução em série ou em paralelo com base no resultado de um If/else condition
. Considere a configuração Run if dependencies
se o senhor precisar de execução condicionada com base em falhas de tarefas upstream. Consulte Configurar dependências de tarefa.