- 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 | ||
| Cargo.toml | ||
| README.md | ||
mq
基于 SQLite 构建的高可靠并发分布式任务队列引擎。
📦 模块概览
mq 为 DCTS 提供轻量级且具备强一致性保证的任务队列服务。
sqlite_queue.rs:SqliteTaskQueue结构体,实现基于 SQLite 事务的任务 Push、Claim、Report、Stale Requeue 以及清理重试。
特性亮点
- 原子 Claim 事务:保证并发 Claim 时单任务仅被成功分配给一个 Worker。
- 超时自动重派 (Requeue):在设定秒数内未汇报结果的任务会被自动放回队列重新为
pending。 - WAL 高并发模式:支持多连接并发读写而不阻塞写事务。
🛠️ Usage & Setup
单元测试
cargo test -p mq
测试包含并发 Claim 竞态检验与超时自动 Requeue 逻辑校验。