mirror of https://github.com/allinssl/allinssl
修复条件分支和并行分支下的并行分支panic
parent
f499afc060
commit
b4e04a3d2e
|
@ -245,7 +245,12 @@ func RunNode(node *WorkflowNode, ctx *ExecutionContext) error {
|
|||
var wg sync.WaitGroup
|
||||
errChan := make(chan error, len(node.ConditionNodes))
|
||||
for _, branch := range node.ConditionNodes {
|
||||
if branch.ChildNode != nil {
|
||||
if branch.ChildNode.ChildNode == nil {
|
||||
branch.ChildNode.Config = make(map[string]any)
|
||||
}
|
||||
branch.ChildNode.Config["fromNodeData"] = node.Config["fromNodeData"]
|
||||
}
|
||||
wg.Add(1)
|
||||
go func(node *WorkflowNode) {
|
||||
defer wg.Done()
|
||||
|
@ -271,6 +276,9 @@ func RunNode(node *WorkflowNode, ctx *ExecutionContext) error {
|
|||
for _, branch := range node.ConditionNodes {
|
||||
if branch.Config["type"] == string(lastStatus) {
|
||||
if branch.ChildNode != nil {
|
||||
if branch.ChildNode.Config == nil {
|
||||
branch.ChildNode.Config = make(map[string]any)
|
||||
}
|
||||
fromNodeData, ok := ctx.GetOutput(node.Config["fromNodeId"].(string))
|
||||
if !ok {
|
||||
fromNodeData = nil
|
||||
|
|
Loading…
Reference in New Issue