- server: 实现按 workflow_name 的多工作流数据隔离与旧数据库平滑迁移机制 - server: 新增 API Key 认证(auth)、限流中间件(rate_limit)与运维备份接口(admin) - server: 统一 AppError 错误处理体系,重构调度器 scheduler 支持工作流级重置与抢占 - node: 节点 ID 缺失时自动生成随机 UUID,原生支持 `docker compose --scale node=N` 动态扩容 - dashboard: 前端模块化重构(state/api/components),升级 CSS 变量设计系统与 Toast 通知 - docker/docs: 更新 /healthz 健康检查、部署脚本 IP 配置及数据库设计文档 |
||
|---|---|---|
| .. | ||
| src | ||
| tests | ||
| build.rs | ||
| Cargo.toml | ||
| README.md | ||
server
DCTS 中央调度与 REST API 服务端程序。
📦 模块概览
server 是基于 Axum 框架构建的高性能中央 Master 控制服务。
main.rs:HTTP Router 初始化、命令行参数解析 (clap) 与后台掉线检测 / 任务超时重入循环。db.rs:基于 SQLite +r2d2的持久化数据层,管理网格点、节点及任务历史。scheduler.rs:网格点自动展开生成器与状态更新管道。api/:node.rs:节点注册与心跳接口。task.rs:任务 Claim 抢占与 Report 结果汇报。seed.rs:.7大气结构二进制种子下载。data.rs:二进制运行依赖与谱线库分发。workflow.rs:网格工作流 CRUD 与启动/停止控制。status.rs:系统运行全貌状态上报。
🚀 Setup & Testing
编译与启动
cargo build -p server --release
./target/release/server --workflow config.yaml --port 8080
自动化测试
cargo test -p server
详细 API 规范请参阅 API Reference。