Branching
Branching é como um workflow se divide em caminhos diferentes com base no resultado de um passo. O Zoen oferece dois blocos para isso: o bloco Condition, que decide com uma regra explícita, e o Router, que deixa um modelo decidir a partir da intenção.
What you will learn
Bifurcar o fluxo
Depois que um passo produz um resultado, o branching envia a execução por um caminho ou outro, em vez de seguir em linha reta.
Condition: decidir com uma regra
O bloco Condition escolhe um ramo a partir de uma regra explícita que você escreve, uma comparação sobre uma saída anterior.
Router: deixar um modelo decidir
O Router lê a entrada e escolhe um ramo a partir da intenção em linguagem natural, para quando a regra é ambígua.
Uma bifurcação no fluxo
A maioria dos workflows que você viu roda em linha. O branching adiciona uma bifurcação: em algum ponto a execução olha o resultado de um passo e segue por um caminho ou outro. Os caminhos podem fazer trabalhos completamente diferentes.
Aqui está a forma de uma bifurcação: um passo decide, e a execução segue por um caminho ou outro:
O bloco Condition, decidir com uma regra
O bloco Condition bifurca com base em uma regra explícita, uma comparação sobre a saída de um bloco anterior, como prioridade igual a "high". O ramo correspondente roda; os outros não. É determinístico e previsível.
O bloco Router, deixar um modelo decidir
Às vezes a regra é ambígua: "envie perguntas de cobrança por um caminho, todo o resto por outro." O bloco Router entrega a decisão a um modelo: ele lê a entrada, escolhe o ramo que corresponde à intenção, e a execução continua por ele. A mesma bifurcação, mas quem decide está raciocinando em vez de seguir uma regra fixa.
Ainda um só workflow
Não importa como bifurque, ainda é um só workflow, e cada execução é registrada. Abra os logs e você vê exatamente qual caminho uma determinada execução tomou, e por quê.