汇聚
join
组件:汇聚合并节点。汇聚并合并多个异步节点执行结果。场景:从不同数据库或者调用API获取数据,然后合并。
# 配置
字段 | 类型 | 是否是必填 | 说明 | 默认值 |
---|---|---|---|---|
timeout | int | 否 | 执行超时,单位秒,默认:0代表不超时 | 0 |
# Relation Type
- Success: 把消息发送到
Success
链 - Failure: 执行超时或者节点执行失败,发送到
Failure
链
# 执行结果
- metadata: 合并每个结束节点处理后的metadata,如果相同key则覆盖。
- data: 把每个结束节点处理后的消息封装成WrapperMsg数组。 WrapperMsg:
字段 | 类型 | 说明 | 默认值 |
---|---|---|---|
msg | types.RuleMsg 不合并metadata | 消息符合 | 无 |
err | string | "" | |
nodeId | string | 最后的处理节点 | "" |
# 配置示例
{
"ruleChain": {
"id": "frcYgBtVbDaV",
"name": "测试合并节点",
"debugMode": true,
"root": true,
"additionalInfo": {
"createTime": "2024/09/24 16:56:52",
"description": "",
"layoutX": "280",
"layoutY": "280",
"updateTime": "2024/09/24 21:50:38",
"username": "admin"
}
},
"metadata": {
"endpoints": [],
"nodes": [
{
"id": "node_a",
"additionalInfo": {
"description": "",
"layoutX": 490,
"layoutY": 280
},
"type": "jsTransform",
"name": "A",
"debugMode": false,
"configuration": {
"jsScript": "msg.a=\"aa\"\nreturn {'msg':msg,'metadata':metadata,'msgType':msgType};"
}
},
{
"id": "node_b",
"additionalInfo": {
"description": "",
"layoutX": 730,
"layoutY": 210
},
"type": "jsTransform",
"name": "B",
"debugMode": false,
"configuration": {
"jsScript": "msg.b=\"bb\"\nreturn {'msg':msg,'metadata':metadata,'msgType':msgType};"
}
},
{
"id": "node_c",
"additionalInfo": {
"description": "",
"layoutX": 730,
"layoutY": 340
},
"type": "jsTransform",
"name": "C",
"debugMode": false,
"configuration": {
"jsScript": "msg.c=\"cc\"\nreturn {'msg':msg,'metadata':metadata,'msgType':msgType};"
}
},
{
"id": "node_d",
"additionalInfo": {
"description": "",
"layoutX": 1010,
"layoutY": 260
},
"type": "join",
"name": "D",
"debugMode": false,
"configuration": {
"timeout": 1
}
}
],
"connections": [
{
"fromId": "node_a",
"toId": "node_b",
"type": "Success"
},
{
"fromId": "node_a",
"toId": "node_c",
"type": "Success"
},
{
"fromId": "node_b",
"toId": "node_d",
"type": "Success"
},
{
"fromId": "node_c",
"toId": "node_d",
"type": "Success"
}
]
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
在 GitHub 上编辑此页 (opens new window)
上次更新: 2024/10/30, 13:29:22