celestialflow 3.0.7__tar.gz → 3.0.9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {celestialflow-3.0.7 → celestialflow-3.0.9}/PKG-INFO +128 -111
- {celestialflow-3.0.7 → celestialflow-3.0.9}/README.md +126 -110
- {celestialflow-3.0.7 → celestialflow-3.0.9}/pyproject.toml +17 -2
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/__init__.py +2 -3
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/static/css/base.css +1 -0
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/static/css/dashboard.css +9 -5
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/static/css/errors.css +4 -0
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/static/js/main.js +3 -3
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/static/js/task_errors.js +10 -9
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/static/js/task_injection.js +3 -3
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/static/js/task_statuses.js +3 -3
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/static/js/task_structure.js +6 -5
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/static/js/task_topology.js +2 -2
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/task_graph.py +241 -148
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/task_logging.py +91 -36
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/task_manage.py +327 -188
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/task_nodes.py +103 -81
- celestialflow-3.0.9/src/celestialflow/task_queue.py +325 -0
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/task_report.py +11 -7
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/task_stage.py +77 -58
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/task_structure.py +57 -28
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/task_tools.py +136 -55
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/task_types.py +10 -4
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/task_web.py +33 -23
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/templates/index.html +2 -1
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow.egg-info/PKG-INFO +128 -111
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow.egg-info/SOURCES.txt +0 -4
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow.egg-info/requires.txt +1 -0
- {celestialflow-3.0.7 → celestialflow-3.0.9}/tests/test_graph.py +9 -10
- {celestialflow-3.0.7 → celestialflow-3.0.9}/tests/test_nodes.py +20 -21
- {celestialflow-3.0.7 → celestialflow-3.0.9}/tests/test_structure.py +19 -21
- celestialflow-3.0.7/src/celestialflow/adapters/__init__.py +0 -0
- celestialflow-3.0.7/src/celestialflow/adapters/celestialtree/__init__.py +0 -2
- celestialflow-3.0.7/src/celestialflow/adapters/celestialtree/client.py +0 -198
- celestialflow-3.0.7/src/celestialflow/adapters/celestialtree/tools.py +0 -41
- celestialflow-3.0.7/src/celestialflow/task_queue.py +0 -246
- {celestialflow-3.0.7 → celestialflow-3.0.9}/setup.cfg +0 -0
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/static/css/inject.css +0 -0
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/static/favicon.ico +0 -0
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/static/js/utils.js +0 -0
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow/task_progress.py +0 -0
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow.egg-info/dependency_links.txt +0 -0
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow.egg-info/entry_points.txt +0 -0
- {celestialflow-3.0.7 → celestialflow-3.0.9}/src/celestialflow.egg-info/top_level.txt +0 -0
- {celestialflow-3.0.7 → celestialflow-3.0.9}/tests/test_manage.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: celestialflow
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.9
|
|
4
4
|
Summary: A flexible GRAPH-based task orchestration framework.
|
|
5
5
|
Author-email: Mr-xiaotian <mingxiaomingtian@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -22,6 +22,7 @@ Requires-Dist: requests
|
|
|
22
22
|
Requires-Dist: networkx
|
|
23
23
|
Requires-Dist: redis
|
|
24
24
|
Requires-Dist: jinja2
|
|
25
|
+
Requires-Dist: celestialtree
|
|
25
26
|
|
|
26
27
|
# CelestialFlow ——一个轻量级、可并行、基于图结构的 Python 任务调度框架
|
|
27
28
|
|
|
@@ -48,21 +49,30 @@ Requires-Dist: jinja2
|
|
|
48
49
|
- 相比 Airflow/Dagster 更轻、更快开始
|
|
49
50
|
- 相比 multiprocessing/threading 更结构化,可直接表达 loop / complete graph 等复杂依赖模式
|
|
50
51
|
|
|
51
|
-
框架的基本单元为 **
|
|
52
|
+
框架的基本单元为 **TaskManager**,可独立运行,并支持四种执行模式:
|
|
52
53
|
|
|
53
54
|
* **线性(serial)**
|
|
54
55
|
* **多线程(thread)**
|
|
55
56
|
* **多进程(process)**
|
|
56
57
|
* **协程(async)**
|
|
57
58
|
|
|
58
|
-
|
|
59
|
+
TaskManager 实现了对任务的结果缓存,任务去重,进度条显示,多执行模式比较等功能,单独使用也很好用。
|
|
60
|
+
|
|
61
|
+
但除去直接使用 TaskManager,更重要的是使用其子类**TaskStage**。TaskStage 可以互相连接,形成具有上游与下游依赖关系的任务图(**TaskGraph**)。下游 stage 会自动接收上游执行完成的结果作为输入,从而形成明确的数据流。
|
|
62
|
+
|
|
63
|
+
TaskStage 的任务执行模式只有两种:
|
|
64
|
+
|
|
65
|
+
* **线性(serial)**
|
|
66
|
+
* **多线程(thread)**
|
|
59
67
|
|
|
60
68
|
在图级别上,每个 Stage 支持两种上下文模式:
|
|
61
69
|
|
|
62
70
|
* **线性执行(serial layout)**:当前节点执行完毕再启动下一节点(下游节点可提前接收任务但不会立即执行)。
|
|
63
71
|
* **并行执行(process layout)**:当前节点启动后立刻前去启动下一节点。
|
|
64
72
|
|
|
65
|
-
TaskGraph 能构建完整的 **有向图结构(Directed Graph)**,不仅支持传统的有向无环图(DAG),也能灵活表达 **树形(Tree)**、**环形(loop)** 乃至于
|
|
73
|
+
TaskGraph 能构建完整的 **有向图结构(Directed Graph)**,不仅支持传统的有向无环图(DAG),也能灵活表达 **树形(Tree)**、**环形(loop)** 乃至于 **完全图(Complete Graph)** 形式的任务依赖。
|
|
74
|
+
|
|
75
|
+
在执行与调度之外,CelestialFlow 进一步引入 **CelestialTree(简称: ctree) 事件追踪系统**,为每一个任务及其衍生行为(成功、失败、重试、拆分、路由等)记录明确的因果关系。借助 ctree,可以从任意一个初始任务出发,完整还原其在 TaskGraph 中的传播路径与执行轨迹,使任务系统可以进行完整的**追溯、分析、解释**。
|
|
66
76
|
|
|
67
77
|
在此基础上,CelestialFlow 支持 Web 可视化监控,并可通过 Redis 实现跨进程、跨设备协作;同时引入基于 Go 的外部 worker(通过 Redis 通信),用于承载 CPU 密集型任务,弥补 Python 在该场景下的性能瓶颈。
|
|
68
78
|
|
|
@@ -80,30 +90,9 @@ flowchart LR
|
|
|
80
90
|
S3[TaskStage C]
|
|
81
91
|
S4[TaskStage D]
|
|
82
92
|
|
|
83
|
-
T1[Last Stage]
|
|
84
|
-
T2[Next Stage]
|
|
85
|
-
|
|
86
|
-
TS[[TaskSplitter]]
|
|
87
|
-
TRSI1[/TaskRedisSink/]
|
|
88
|
-
TRSI2[/TaskRedisSink/]
|
|
89
|
-
TRSO[/TaskRedisSource/]
|
|
90
|
-
TRA[/TaskRedisAck/]
|
|
91
|
-
|
|
92
|
-
RE1[(Redis)]
|
|
93
|
-
RE2[(Redis)]
|
|
94
|
-
G1((GoWorker))
|
|
95
|
-
G2((GoWorker))
|
|
96
|
-
|
|
97
93
|
S1 --> S2 --> S3 --> S1
|
|
98
94
|
S1 --> S4
|
|
99
95
|
|
|
100
|
-
T1 -->|1 task| TS
|
|
101
|
-
TS -->|N task| T2
|
|
102
|
-
|
|
103
|
-
TRSI1 -.-> RE1 -.-> TRSO
|
|
104
|
-
TRSI2 -.->|task| RE2 -.->|task| G1
|
|
105
|
-
G2 -.->|result| RE2 -.->|result| TRA
|
|
106
|
-
|
|
107
96
|
end
|
|
108
97
|
|
|
109
98
|
%% 美化 TaskGraph 外框
|
|
@@ -114,13 +103,6 @@ flowchart LR
|
|
|
114
103
|
|
|
115
104
|
%% 美化 TaskStages
|
|
116
105
|
class S1,S2,S3,S4 blueNode;
|
|
117
|
-
class T1,T2 blueNode;
|
|
118
|
-
|
|
119
|
-
%% 美化 特殊Stage
|
|
120
|
-
class TS,TRA,TRSI1,TRSI2,TRSO blueNode;
|
|
121
|
-
|
|
122
|
-
%% 美化 外部结构
|
|
123
|
-
class RE1,RE2,G1,G2 blueNode;
|
|
124
106
|
|
|
125
107
|
%% ===== WebUI =====
|
|
126
108
|
subgraph W[WebUI]
|
|
@@ -173,7 +155,7 @@ if __name__ == "__main__":
|
|
|
173
155
|
graph = TaskGraph([stage1])
|
|
174
156
|
|
|
175
157
|
# 初始化任务并启动
|
|
176
|
-
graph.start_graph({stage1.
|
|
158
|
+
graph.start_graph({stage1.get_tag(): [(1, 2), (3, 4), (5, 6)]})
|
|
177
159
|
```
|
|
178
160
|
|
|
179
161
|
注意不要在.ipynb中运行。
|
|
@@ -200,18 +182,18 @@ if __name__ == "__main__":
|
|
|
200
182
|
flowchart TD
|
|
201
183
|
classDef whiteNode fill:#ffffff,stroke:#000000,color:#000000;
|
|
202
184
|
|
|
203
|
-
TM[TaskManage] --> TG[TaskGraph]
|
|
204
|
-
TM --> TP[TaskProgress]
|
|
185
|
+
TM[TaskManage.md] --> TS[TaskStage.md] --> TG[TaskGraph.md]
|
|
186
|
+
TM --> TP[TaskProgress.md]
|
|
205
187
|
|
|
206
|
-
TG --> TQ[TaskQueue]
|
|
207
|
-
TG --> TN[TaskNodes]
|
|
208
|
-
TG --> TR[TaskReport]
|
|
209
|
-
TG -->
|
|
188
|
+
TG --> TQ[TaskQueue.md]
|
|
189
|
+
TG --> TN[TaskNodes.md]
|
|
190
|
+
TG --> TR[TaskReport.md]
|
|
191
|
+
TG --> TSR[TaskStructure.md]
|
|
210
192
|
|
|
211
|
-
TR --> TW[TaskWeb]
|
|
212
|
-
TN --> GW[Go Worker]
|
|
193
|
+
TR --> TW[TaskWeb.md]
|
|
194
|
+
TN --> GW[Go Worker.md]
|
|
213
195
|
|
|
214
|
-
class TM,TG,TP,TQ,TN,TR,TS,TW,GW whiteNode;
|
|
196
|
+
class TM,TG,TP,TQ,TN,TR,TS,TW,GW,TSR whiteNode;
|
|
215
197
|
```
|
|
216
198
|
|
|
217
199
|
以下三篇可以作为补充阅读:
|
|
@@ -224,99 +206,124 @@ flowchart TD
|
|
|
224
206
|
|
|
225
207
|
[📘案例教程](https://github.com/Mr-xiaotian/CelestialFlow/blob/main/docs/tutorial.md)
|
|
226
208
|
|
|
209
|
+
如果你对3.0.7版本加入的ctree_client与其功能感兴趣, 可以看看这一篇:
|
|
210
|
+
|
|
211
|
+
[📚CelestialTreeClient](https://github.com/Mr-xiaotian/CelestialFlow/blob/main/docs/reference/ctree_client.md)
|
|
212
|
+
|
|
227
213
|
## 环境要求(Requirements)
|
|
228
214
|
|
|
229
215
|
**CelestialFlow** 基于 Python 3.8+,并依赖以下核心组件。
|
|
230
216
|
请确保你的环境能够正常安装这些依赖(`pip install celestialflow` 会自动安装)。
|
|
231
217
|
|
|
232
218
|
| 依赖包 | 说明 |
|
|
233
|
-
|
|
|
234
|
-
| **Python ≥ 3.8**
|
|
235
|
-
| **tqdm**
|
|
236
|
-
| **loguru**
|
|
237
|
-
| **fastapi**
|
|
238
|
-
| **uvicorn**
|
|
239
|
-
| **requests**
|
|
240
|
-
| **networkx**
|
|
241
|
-
| **
|
|
242
|
-
| **
|
|
219
|
+
| ----------------- | ---- |
|
|
220
|
+
| **Python ≥ 3.8** | 运行环境,建议使用 3.10 及以上版本 |
|
|
221
|
+
| **tqdm** | 控制台进度条显示,用于任务执行可视化 |
|
|
222
|
+
| **loguru** | 高性能日志系统,支持多进程安全输出 |
|
|
223
|
+
| **fastapi** | Web 服务接口框架(用于任务可视化与远程控制) |
|
|
224
|
+
| **uvicorn** | FastAPI 的高性能 ASGI 服务器 |
|
|
225
|
+
| **requests** | HTTP 客户端库,用于任务状态上报与远程调用 |
|
|
226
|
+
| **networkx** | 任务图(TaskGraph)结构与依赖分析 |
|
|
227
|
+
| **jinja2** | FastAPI 模板引擎,用于 Web 可视化界面渲染 |
|
|
228
|
+
| **redis** | 可选组件,用于分布式任务通信(`TaskRedis*` 系列模块) |
|
|
229
|
+
| **celestialtree** | 可选组件,用于任务状态上报与远程调用(`ctree_client`) |
|
|
243
230
|
|
|
244
231
|
## 文件结构(File Structure)
|
|
245
232
|
|
|
246
233
|
```
|
|
247
|
-
📁 CelestialFlow (
|
|
248
|
-
📁
|
|
249
|
-
|
|
234
|
+
📁 CelestialFlow (224MB 407KB 500B)
|
|
235
|
+
📁 docs (34KB 944B)
|
|
236
|
+
📁 reference (29KB 995B)
|
|
237
|
+
📝 ctree_client.md (6KB 997B)
|
|
238
|
+
📝 go_worker.md (6KB 378B)
|
|
239
|
+
📝 task_graph.md (4KB 989B)
|
|
240
|
+
📝 task_logging.md (0B)
|
|
241
|
+
📝 task_manage.md (7KB 499B)
|
|
242
|
+
📝 task_nodes.md (4KB 68B)
|
|
243
|
+
📝 task_progress.md (0B)
|
|
244
|
+
📝 task_queue.md (0B)
|
|
245
|
+
📝 task_report.md (0B)
|
|
246
|
+
📝 task_stage.md (0B)
|
|
247
|
+
📝 task_structure.md (112B)
|
|
248
|
+
📝 task_tools.md (0B)
|
|
249
|
+
📝 task_types.md (0B)
|
|
250
|
+
📝 task_web.md (0B)
|
|
251
|
+
📝 quick_start.md (4KB 973B)
|
|
252
|
+
📝 tutorial.md (0B)
|
|
253
|
+
📁 experiments (15KB 111B)
|
|
254
|
+
🐍 benchmark_datastructures.py (6KB 52B)
|
|
250
255
|
🐍 benchmark_hash.py (1KB 284B)
|
|
251
|
-
🐍 benchmark_queue.py (5KB
|
|
256
|
+
🐍 benchmark_queue.py (5KB 504B)
|
|
252
257
|
🐍 benchmark_tqdm.py (1KB 160B)
|
|
253
258
|
🐍 experiment_tqdm.py (1KB 135B)
|
|
254
|
-
📁 go_worker (6MB
|
|
255
|
-
📁 worker (5KB
|
|
259
|
+
📁 go_worker (6MB 968KB 38B)
|
|
260
|
+
📁 worker (5KB 746B)
|
|
256
261
|
🌀 parser.go (394B)
|
|
257
262
|
🌀 processor.go (2KB 612B)
|
|
258
|
-
🌀 types.go (
|
|
263
|
+
🌀 types.go (299B)
|
|
259
264
|
🌀 worker.go (2KB 465B)
|
|
260
|
-
❓ go.mod (
|
|
261
|
-
❓ go.sum (
|
|
265
|
+
❓ go.mod (292B)
|
|
266
|
+
❓ go.sum (1KB 68B)
|
|
262
267
|
❓ go_worker.exe (6MB 960KB)
|
|
263
|
-
🌀 main.go (
|
|
264
|
-
📁 img (
|
|
265
|
-
📷 logo.png
|
|
268
|
+
🌀 main.go (980B)
|
|
269
|
+
📁 img (4MB 700KB 695B)
|
|
270
|
+
📷 logo(old).png (836KB 542B)
|
|
271
|
+
📷 logo.png (122KB 747B)
|
|
266
272
|
📷 web_display.png (129KB 545B)
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
🎨
|
|
273
|
-
🎨
|
|
273
|
+
🎞️ web_ui.gif (3MB 635KB 909B)
|
|
274
|
+
📁 src (1MB 929KB 111B)
|
|
275
|
+
📁 celestialflow (1MB 911KB 486B)
|
|
276
|
+
📁 static (1MB 417KB 367B)
|
|
277
|
+
📁 css (31KB 621B)
|
|
278
|
+
🎨 base.css (6KB 181B)
|
|
279
|
+
🎨 dashboard.css (7KB 414B)
|
|
280
|
+
🎨 errors.css (5KB 216B)
|
|
274
281
|
🎨 inject.css (12KB 834B)
|
|
275
|
-
📁 js (
|
|
276
|
-
📜 main.js (
|
|
277
|
-
📜 task_errors.js (4KB
|
|
278
|
-
📜 task_injection.js (8KB
|
|
279
|
-
📜 task_statuses.js (8KB
|
|
280
|
-
📜 task_structure.js (
|
|
281
|
-
📜 task_topology.js (
|
|
282
|
+
📁 js (33KB 672B)
|
|
283
|
+
📜 main.js (5KB 65B)
|
|
284
|
+
📜 task_errors.js (4KB 595B)
|
|
285
|
+
📜 task_injection.js (8KB 484B)
|
|
286
|
+
📜 task_statuses.js (8KB 51B)
|
|
287
|
+
📜 task_structure.js (4KB 709B)
|
|
288
|
+
📜 task_topology.js (1KB 375B)
|
|
282
289
|
📜 utils.js (1KB 441B)
|
|
283
290
|
❓ favicon.ico (1MB 352KB 98B)
|
|
284
|
-
📁 templates (
|
|
285
|
-
🌐 index.html (
|
|
286
|
-
📁 [1项排除的目录] (
|
|
287
|
-
|
|
288
|
-
🐍
|
|
289
|
-
🐍
|
|
290
|
-
🐍
|
|
291
|
-
🐍 task_nodes.py (4KB 953B)
|
|
291
|
+
📁 templates (13KB 174B)
|
|
292
|
+
🌐 index.html (13KB 174B)
|
|
293
|
+
📁 [1项排除的目录] (339KB 553B)
|
|
294
|
+
🐍 task_graph.py (26KB 700B)
|
|
295
|
+
🐍 task_logging.py (10KB 282B)
|
|
296
|
+
🐍 task_manage.py (36KB 110B)
|
|
297
|
+
🐍 task_nodes.py (10KB 814B)
|
|
292
298
|
🐍 task_progress.py (1KB 477B)
|
|
293
|
-
🐍 task_queue.py (
|
|
294
|
-
🐍 task_report.py (
|
|
295
|
-
🐍
|
|
296
|
-
🐍
|
|
297
|
-
🐍
|
|
298
|
-
🐍
|
|
299
|
-
🐍
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
📝 README.md (
|
|
306
|
-
🐍 test_graph.py (5KB
|
|
307
|
-
🐍 test_manage.py (
|
|
308
|
-
🐍 test_nodes.py (
|
|
309
|
-
🐍 test_structure.py (
|
|
310
|
-
📁 [6项排除的目录] (
|
|
311
|
-
❓ .
|
|
299
|
+
🐍 task_queue.py (10KB 948B)
|
|
300
|
+
🐍 task_report.py (4KB 828B)
|
|
301
|
+
🐍 task_stage.py (6KB 577B)
|
|
302
|
+
🐍 task_structure.py (7KB 255B)
|
|
303
|
+
🐍 task_tools.py (17KB 19B)
|
|
304
|
+
🐍 task_types.py (2KB 269B)
|
|
305
|
+
🐍 task_web.py (6KB 235B)
|
|
306
|
+
🐍 __init__.py (1KB 22B)
|
|
307
|
+
📁 [1项排除的目录] (17KB 649B)
|
|
308
|
+
📁 tests (126KB 724B)
|
|
309
|
+
📁 [1项排除的目录] (90KB 464B)
|
|
310
|
+
🐍 conftest.py (49B)
|
|
311
|
+
📝 README.md (6KB 324B)
|
|
312
|
+
🐍 test_graph.py (5KB 547B)
|
|
313
|
+
🐍 test_manage.py (3KB 90B)
|
|
314
|
+
🐍 test_nodes.py (11KB 218B)
|
|
315
|
+
🐍 test_structure.py (10KB 56B)
|
|
316
|
+
📁 [6项排除的目录] (210MB 685KB 450B)
|
|
317
|
+
❓ .env (88B)
|
|
318
|
+
❓ .gitignore (272B)
|
|
312
319
|
❓ LICENSE (1KB 65B)
|
|
313
320
|
❓ Makefile (501B)
|
|
314
|
-
❓ pyproject.toml (1KB
|
|
315
|
-
|
|
316
|
-
|
|
321
|
+
❓ pyproject.toml (1KB 594B)
|
|
322
|
+
📝 README.md (16KB 3B)
|
|
323
|
+
(celestial-flow 3.0.9)
|
|
317
324
|
```
|
|
318
325
|
|
|
319
|
-
(该视图由我的另一个项目[CelestialVault](https://github.com/Mr-xiaotian/CelestialVault)中inst_file生成。)
|
|
326
|
+
(该视图由我的另一个项目[CelestialVault](https://github.com/Mr-xiaotian/CelestialVault)中inst_file.FileTree.print_tree()生成。)
|
|
320
327
|
|
|
321
328
|
## 更新日志(Change Log)
|
|
322
329
|
|
|
@@ -336,6 +343,16 @@ flowchart TD
|
|
|
336
343
|
- 3.0.5: 删除原有的TaskRedisTransfer节点, 并增添三种新的redis交互节点TaskRedisSink TaskRedisSource TaskRedisAck, 用于跨语言 跨进程 跨设备处理任务; 并在Web页面添加展示拓扑信息的卡片
|
|
337
344
|
- 3.0.6: 添加对[CelestialTree](https://github.com/Mr-xiaotian/CelestialTree)系统的支持, 现在可以追踪单个任务的流向
|
|
338
345
|
- 3.0.7: 将TaskStage从TaskManager中单独抽出来作为一个子类; 增加新节点TaskRouter, 可以将传入的任务选择的传给不同的下游节点, 而不是进行广播
|
|
346
|
+
- 3.0.8: 在ctree逻辑上将"任务重试"事件后的"任务成功/失败/重试"事件视为因果关系, 而非之前的并行关系; 重构错误搜集部分逻辑; 修复大量3.0.6与3.07版本引入的bug; 优化部分log表现
|
|
347
|
+
- 3.0.9: 1/23/2026
|
|
348
|
+
- 更新前端mermaid显示中部分节点图标;
|
|
349
|
+
- 对ctree_client的大量修改;
|
|
350
|
+
- 将ctree_client移出为单独的project;
|
|
351
|
+
- 在前端中添加error_id的显示, 为之后显示provenance_tree做准备;
|
|
352
|
+
- 增加大量warning与error, 用于提醒不规范设置;
|
|
353
|
+
- 优化前后端中错误数据的传输方式, 在大量错误数据时减少内存消耗;
|
|
354
|
+
- 优化TaskLogger中log队列的准入机制;
|
|
355
|
+
- 修改部分Bug
|
|
339
356
|
|
|
340
357
|
## Star 历史趋势(Star History)
|
|
341
358
|
|
|
@@ -347,6 +364,6 @@ flowchart TD
|
|
|
347
364
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
348
365
|
|
|
349
366
|
## 作者(Author)
|
|
350
|
-
Author: Mr-xiaotian
|
|
351
|
-
Email: mingxiaomingtian@gmail.com
|
|
367
|
+
Author: Mr-xiaotian
|
|
368
|
+
Email: mingxiaomingtian@gmail.com
|
|
352
369
|
Project Link: [https://github.com/Mr-xiaotian/CelestialFlow](https://github.com/Mr-xiaotian/CelestialFlow)
|