mirror of
https://gitee.com/mirrors/AllinSSL.git
synced 2026-03-14 10:22:02 +08:00
修复工作流中有并行分支时panic
This commit is contained in:
@@ -245,6 +245,7 @@ func RunNode(node *WorkflowNode, ctx *ExecutionContext) error {
|
|||||||
var wg sync.WaitGroup
|
var wg sync.WaitGroup
|
||||||
errChan := make(chan error, len(node.ConditionNodes))
|
errChan := make(chan error, len(node.ConditionNodes))
|
||||||
for _, branch := range node.ConditionNodes {
|
for _, branch := range node.ConditionNodes {
|
||||||
|
branch.ChildNode.Config["fromNodeData"] = node.Config["fromNodeData"]
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
go func(node *WorkflowNode) {
|
go func(node *WorkflowNode) {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
@@ -286,6 +287,9 @@ func RunNode(node *WorkflowNode, ctx *ExecutionContext) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if node.ChildNode != nil {
|
if node.ChildNode != nil {
|
||||||
|
if node.ChildNode.Config == nil {
|
||||||
|
node.ChildNode.Config = make(map[string]any)
|
||||||
|
}
|
||||||
fromNodeData, ok := ctx.GetOutput(node.Id)
|
fromNodeData, ok := ctx.GetOutput(node.Id)
|
||||||
if ok && fromNodeData != nil && node.ChildNode.Config["fromNodeData"] == nil {
|
if ok && fromNodeData != nil && node.ChildNode.Config["fromNodeData"] == nil {
|
||||||
node.ChildNode.Config["fromNodeData"] = fromNodeData
|
node.ChildNode.Config["fromNodeData"] = fromNodeData
|
||||||
|
|||||||
Reference in New Issue
Block a user