Workflow Execution
The workflow engine queues every step per entity to be executed by the workers. So for each entity there is a run
method call in the worker.
Per step and FB the data context and the condition on the steps are defining the entities on which the FB is executed.
flowchart TB
start([Start Workflow]) ===> wf
subgraph wf[Workflow]
direction LR
subgraph fbs[ ]
direction LR
fb1 --> fb2 --> fb3
subgraph fb1[Function Block 1 per Group]
direction LR
subgraph fb1context[Context FB 1]
direction TB
fb1l1((Location 1))
fb1l2((Location 2))
end
fb1c(Condition FB1) ==> fb1context
end
subgraph fb2[Function Block 2 per Device]
direction LR
subgraph fb2context[Context FB 2]
direction TB
fb2l1r1(Router L1-1)
fb2l1r2(Router L1-2)
fb2l2r1(Router L2-1)
fb2fc1(Configuration Item / Controller eg vManage)
end
fb2c(Condition FB2) ==> fb2context
end
subgraph fb3[Function Block 3 per Device]
direction LR
subgraph fb3context[Context FB 3]
direction TB
fb3l1s1(Switch L1-1)
fb3l1s2(Switch L1-2)
fb3l2s1(Switch L2-1)
end
fb3c(Condition FB3) ==> fb3context
end
end
subgraph full[Full Context]
direction LR
fl1((Location 1))
fl2((Location 2))
fl1 --> fl1r1(Router L1-1)
fl1 --> fl1r2(Router L1-2)
fl2 --> fl2r1(Router L2-1)
fl1 --> fl1s1(Switch L1-1)
fl1 --> fl1s2(Switch L1-2)
fl2 --> fl2s1(Switch L2-1)
fc1(Configuration Item / Controller eg vManage)
end
full --> fb1c
full --> fb2c
full --> fb3c
end
style fb1 fill:#8d8d94
style fb2 fill:#8d8d94
style fb3 fill:#8d8d94
style fc1 fill:#837dff
style fb2fc1 fill:#837dff
style full fill:#b3b1c9
style fb1context fill:#b3b1c9
style fb2context fill:#b3b1c9
style fb3context fill:#b3b1c9
style fb2l1r1 fill:#f2f5b5
style fb2l1r2 fill:#f2f5b5
style fb2l2r1 fill:#f2f5b5
style fb3l1s1 fill:#f2f5b5
style fb3l1s2 fill:#f2f5b5
style fb3l2s1 fill:#f2f5b5
style fl1r1 fill:#f2f5b5
style fl1r2 fill:#f2f5b5
style fl2r1 fill:#f2f5b5
style fl1s1 fill:#f2f5b5
style fl1s2 fill:#f2f5b5
style fl2s1 fill:#f2f5b5