Skip to main content

flow_example

Descrição#

Este exemplo visa mostrar como utilizar um FlowNode.

  • Nó 1 - Sempre se inicia o processo com um tipo Start.

    Nesse exemplo não há parâmetros pré-definidos para esse nó. Ou seja, o objeto input_schema é vazio.

  • Nó 2 - É um tipo ScriptTask. Esse nó está criando os valores para a bag.

    Em parameters o método na function cria as variáveis name e extraData e elas recebem respectivamente os valores ValueExample e 98. Além disso é criado value que recebe um valor randômico inteiro.

  • Nó 3 - O 3 é tipo FlowNode.

    Se o atributo do objeto next for "1" o processo retornará no Nó 2.

    Caso não seja identificado um atributo válido, por definição o processo seguirá para o Nó 4.

  • Nó 4 - o 4 é um Finish Node encerrando o processo.

Diagrama#

flow_example

Blueprint#

flow_example
{
"name":"flow_example",
"description":"",
"blueprint_spec":{
"requirements":[
"core"
],
"prepare":[
],
"nodes":[
{
"id":"1",
"type":"Start",
"name":"Start node",
"parameters":{
"input_schema":{
}
},
"next":"2",
"lane_id":"1"
},
{
"id":"2",
"type":"ScriptTask",
"name":"Create values for bag",
"next":"3",
"lane_id":"1",
"parameters":{
"input":{
},
"script":{
"package":"",
"function":[
"fn",
[
"&",
"args"
],
[
"set",
{
"name":"valueExample",
"extraData":98
},
[
"`",
"value"
],
[
"js",
[
".",
"Math",
[
"`",
"floor"
],
[
"*",
[
".",
"Math",
[
"`",
"random"
]
],
[
".",
"Math",
[
"`",
"floor"
],3
]
]
]
]
]
]
}
}
},
{
"id":"3",
"type":"Flow",
"name":"Set values on bag",
"next":{
"1":"2",
"default":"4"
},
"lane_ids":{
"input":{
"decision":{
"$ref":"result.value"
}
}
}
},
{
"id":"4",
"type":"Finish",
"name":"Finish node",
"next":null,
"lane_id":"1"
}
],
"lanes":[
{
"id":"1",
"name":"default",
"rule":[
"fn",
[
"&",
"args"
],
true
]
}
],
"environment":{
}
}
}