dagucloud/dagu
Self-hostable workflow orchestrator for teams whose main work isn't orchestration. Declarative YAML over your scripts, SSH commands, containers, etc; keep workflows separate from business logic. One binary, no database, runs on limited H/W resources. Alternative to Airflow / Cron / Job Scheduler.
解决的问题
Dagu 是一个为需要在不管理复杂平台的情况下编排现有脚本、容器和运行手册的团队设计的本地优先工作流引擎。它通过将工作流结构作为配置而非代码来处理,取代了不透明的 cron 作业以及 Airflow 或 Temporal 等重型编排器。这使得用户无需修改底层脚本,即可为现有自动化添加调度、重试和可观测性功能。
如何工作
用户使用声明式 YAML 格式定义有向无环图(DAG)。Dagu 以单个二进制文件分发,包含 Web UI、调度器和协调器。它支持三种部署模式:作为单个服务器运行、使用临时工作器(例如通过 Kubernetes Jobs)、或作为分布式工作器通过 gRPC 轮询协调器。它原生支持执行 shell 命令、Docker 容器、Kubernetes Jobs 以及通过 SSH 的远程命令。
适用人群
适用于希望以最少的设置和运维负担,将现有脚本和运行手册转化为生产级工作流的运维和内部自动化团队。
特色亮点
- 单二进制安装:无需外部数据库或消息代理。
- 语言无关:无需脚本导入框架,即可运行 shell 命令、Docker、K8s Jobs 和 SSH。
- 声明式 YAML:工作流结构、依赖关系和调度均在 YAML 文件中定义。
- 可观测性:内置 Web UI 用于状态追踪、日志查看和可视化。
- 持久执行:支持重试、重叠策略和计划运行的补救窗口。
- 人工任务:支持暂停工作流以等待操作员确认或输入。
- MCP Server:内置 Model Context Protocol 服务器,可通过 AI 客户端检查和控制工作流。
相关
- 项目
- 项目
- 项目
- 项目
- 项目