1
1
direction : right
2
2
3
+ ...@ _base
4
+
3
5
user01 : User01 {
4
- shape : person
5
- style : {
6
- multiple : true
7
- bold : true
8
- font-size : 28
9
- }
6
+ label : User01
7
+ class : [base ; person ; multiple ]
10
8
}
11
9
12
10
user02 : User02 {
13
- shape : person
14
- style : {
15
- multiple : true
16
- bold : true
17
- font-size : 28
18
- }
11
+ label : User02
12
+ class : [base ; person ; multiple ]
19
13
}
20
14
21
15
user03 : User03 {
22
- shape : person
23
- style : {
24
- multiple : true
25
- bold : true
26
- font-size : 28
27
- }
16
+ label : User03
17
+ class : [base ; person ; multiple ]
28
18
}
29
19
30
20
user04 : User04 {
31
- shape : person
32
- style : {
33
- multiple : true
34
- bold : true
35
- font-size : 28
36
- }
21
+ label : User04
22
+ class : [base ; person ; multiple ]
37
23
}
38
24
39
25
user01 -> container .task01 : Create Task {
40
- style : {
41
- animated : true
42
- bold : true
43
- font-size : 28
44
- }
26
+ label : Create Task
27
+ class : [base ; animated ]
45
28
}
46
29
user02 -> container .task02 : Create Task {
47
- style : {
48
- animated : true
49
- bold : true
50
- font-size : 28
51
- }
30
+ label : Create Task
31
+ class : [base ; animated ]
52
32
}
53
33
54
34
user03 -> container .task03 : Create Task {
55
- style : {
56
- animated : true
57
- bold : true
58
- font-size : 28
59
- }
35
+ label : Create Task
36
+ class : [base ; animated ]
60
37
}
61
38
62
39
user04 -> container .task04 : Create Task {
63
- style : {
64
- animated : true
65
- bold : true
66
- font-size : 28
67
- }
40
+ label : Create Task
41
+ class : [base ; animated ]
68
42
}
69
43
70
44
container : Application {
@@ -77,38 +51,22 @@ container: Application {
77
51
78
52
task01 : {
79
53
icon : https://icons.terrastruct.com/essentials%2F092-graph%20bar.svg
80
- style : {
81
- multiple : true
82
- bold : true
83
- font-size : 32
84
- }
54
+ class : [task ; multiple ]
85
55
}
86
56
87
57
task02 : {
88
58
icon : https://icons.terrastruct.com/essentials%2F095-download.svg
89
- style : {
90
- multiple : true
91
- bold : true
92
- font-size : 32
93
- }
59
+ class : [task ; multiple ]
94
60
}
95
61
96
62
task03 : {
97
63
icon : https://icons.terrastruct.com/essentials%2F195-attachment.svg
98
- style : {
99
- multiple : true
100
- bold : true
101
- font-size : 32
102
- }
64
+ class : [task ; multiple ]
103
65
}
104
66
105
67
task04 : {
106
68
icon : https://icons.terrastruct.com/essentials%2F213-alarm.svg
107
- style : {
108
- multiple : true
109
- bold : true
110
- font-size : 32
111
- }
69
+ class : [task ; multiple ]
112
70
}
113
71
114
72
queue : Queue Library {
@@ -118,92 +76,44 @@ container: Application {
118
76
font-size : 32
119
77
fill : honeydew
120
78
}
121
- producer01 : Producer01 {
122
- style : {
123
- bold : true
124
- font-size : 32
125
- fill : PapayaWhip
126
- fill-pattern : grain
127
- border-radius : 8
128
- font : mono
129
- }
79
+ producer01 : {
80
+ label : Producer01
81
+ class : library
130
82
}
131
83
132
- producer02 : Producer02 {
133
- style : {
134
- bold : true
135
- font-size : 32
136
- fill : PapayaWhip
137
- fill-pattern : grain
138
- border-radius : 8
139
- font : mono
140
- }
84
+ producer02 : {
85
+ label : Producer02
86
+ class : library
141
87
}
142
88
143
- producer03 : Producer03 {
144
- style : {
145
- bold : true
146
- font-size : 32
147
- fill : PapayaWhip
148
- fill-pattern : grain
149
- border-radius : 8
150
- font : mono
151
- }
89
+ producer03 : {
90
+ label : Producer03
91
+ class : library
152
92
}
153
93
154
- producer04 : Producer04 {
155
- style : {
156
- bold : true
157
- font-size : 32
158
- fill : PapayaWhip
159
- fill-pattern : grain
160
- border-radius : 8
161
- font : mono
162
- }
94
+ producer04 : {
95
+ label : Producer04
96
+ class : library
163
97
}
164
98
165
- consumer01 : Consumer01 {
166
- style : {
167
- bold : true
168
- font-size : 32
169
- fill : PapayaWhip
170
- fill-pattern : grain
171
- border-radius : 8
172
- font : mono
173
- }
99
+ consumer01 : {
100
+ label : Consumer01
101
+ class : library
174
102
}
175
103
176
- consumer02 : Consumer02 {
177
- style : {
178
- bold : true
179
- font-size : 32
180
- fill : PapayaWhip
181
- fill-pattern : grain
182
- border-radius : 8
183
- font : mono
184
- }
104
+ consumer02 : {
105
+ label : Consumer02
106
+ class : library
185
107
}
186
108
187
- consumer03 : Consumer03 {
188
- style : {
189
- bold : true
190
- font-size : 32
191
- fill : PapayaWhip
192
- fill-pattern : grain
193
- border-radius : 8
194
- font : mono
195
- }
109
+ consumer03 : {
110
+ label : Consumer03
111
+ class : library
196
112
}
197
113
198
- consumer04 : Consumer04 {
199
- style : {
200
- bold : true
201
- font-size : 32
202
- fill : PapayaWhip
203
- fill-pattern : grain
204
- border-radius : 8
205
- font : mono
206
- }
114
+ consumer04 : {
115
+ label : Consumer04
116
+ class : library
207
117
}
208
118
209
119
database : Ring\n Buffer {
@@ -258,82 +168,54 @@ container: Application {
258
168
259
169
worker01 : {
260
170
icon : https://icons.terrastruct.com/essentials%2F092-graph%20bar.svg
261
- style : {
262
- bold : true
263
- font-size : 32
264
- }
171
+ class : [task ]
265
172
}
266
173
267
174
worker02 : {
268
175
icon : https://icons.terrastruct.com/essentials%2F095-download.svg
269
- style : {
270
- bold : true
271
- font-size : 32
272
- }
176
+ class : [task ]
273
177
}
274
178
275
179
worker03 : {
276
180
icon : https://icons.terrastruct.com/essentials%2F092-graph%20bar.svg
277
- style : {
278
- bold : true
279
- font-size : 32
280
- }
181
+ class : [task ]
281
182
}
282
183
283
184
worker04 : {
284
185
icon : https://icons.terrastruct.com/essentials%2F213-alarm.svg
285
- style : {
286
- bold : true
287
- font-size : 32
288
- }
186
+ class : [task ]
289
187
}
290
188
291
- task01 -> queue .producer01 : Enqueue Task {
292
- style : {
293
- bold : true
294
- font-size : 28
295
- }
189
+ task01 -> queue .producer01 : {
190
+ label : Enqueue Task
191
+ class : [base ; enqueue ]
296
192
}
297
- task02 -> queue .producer02 : Enqueue Task {
298
- style : {
299
- bold : true
300
- font-size : 28
301
- }
193
+ task02 -> queue .producer02 : {
194
+ label : Enqueue Task
195
+ class : [base ; enqueue ]
302
196
}
303
- task03 -> queue .producer03 : Enqueue Task {
304
- style : {
305
- bold : true
306
- font-size : 28
307
- }
197
+ task03 -> queue .producer03 : {
198
+ label : Enqueue Task
199
+ class : [base ; enqueue ]
308
200
}
309
- task04 -> queue .producer04 : Enqueue Task {
310
- style : {
311
- bold : true
312
- font-size : 28
313
- }
201
+ task04 -> queue .producer04 : {
202
+ label : Enqueue Task
203
+ class : [base ; enqueue ]
314
204
}
315
- queue .consumer01 -> worker01 : dispatch task {
316
- style : {
317
- bold : true
318
- font-size : 28
319
- }
205
+ queue .consumer01 -> worker01 : {
206
+ label : dispatch task
207
+ class : [base ; dispatch ]
320
208
}
321
- queue .consumer02 -> worker02 : dispatch task {
322
- style : {
323
- bold : true
324
- font-size : 28
325
- }
209
+ queue .consumer02 -> worker02 : {
210
+ label : dispatch task
211
+ class : [base ; dispatch ]
326
212
}
327
- queue .consumer03 -> worker03 : dispatch task {
328
- style : {
329
- bold : true
330
- font-size : 28
331
- }
213
+ queue .consumer03 -> worker03 : {
214
+ label : dispatch task
215
+ class : [base ; dispatch ]
332
216
}
333
- queue .consumer04 -> worker04 : dispatch task {
334
- style : {
335
- bold : true
336
- font-size : 28
337
- }
217
+ queue .consumer04 -> worker04 : {
218
+ label : dispatch task
219
+ class : [base ; dispatch ]
338
220
}
339
221
}
0 commit comments