English | 简体中文
使用 Go 语言开发的轻量级分布式定时任务集中调度和管理系统,用于替代 Linux-crontab。
访问完整文档请跳转:文档
- 🚀 快速开始 - 安装部署指南
- 🤖 Agent 自动注册 - 一键部署任务节点
- ⚙️ 配置文件 - 详细配置说明
- 🔌 API 文档 - API 接口说明
- Web 界面管理:直观的定时任务管理界面
- 秒级定时:支持 Crontab 时间表达式,精确到秒
- 高可用:基于数据库锁的 Leader 选举,秒级自动故障转移
- 任务重试:支持任务执行失败重试设置
- 任务依赖:支持配置任务依赖关系
- 多用户权限:完善的用户和权限控制
- 双因素认证:支持 2FA,提升系统安全性
- Agent 自动注册:支持 Linux/macOS 一键安装注册
- 多数据库支持:MySQL / PostgreSQL / SQLite
- 日志管理:完整的任务执行日志,支持自动清理
- 消息通知:支持邮件、Slack、Webhook 等多种通知方式
最简单的部署方式是使用 Docker Compose:
# 1. 克隆项目
git clone https://github.com/gocronx-team/gocron.git
cd gocron
# 2. 启动服务
docker-compose up -d
# 3. 访问 Web 界面
# http://localhost:5920更多部署方式(二进制部署、开发环境)请查看 安装部署指南。
多个 gocron 实例连接同一个 MySQL/PostgreSQL 数据库即可实现高可用,Leader 选举自动完成,无需额外配置。SQLite 以单节点模式运行。
# 节点 1
./gocron web --port 5920
# 节点 2(连接同一数据库)
./gocron web --port 5921详细部署步骤、K8s 配置和环境变量覆盖请参考 高可用部署指南。
| Agent自动注册 | 任务管理 |
![]() |
![]() |
| 数据统计 | 消息通知 |
![]() |
![]() |
我们非常欢迎社区的贡献!
-
Fork 仓库
-
克隆你的 fork
git clone https://github.com/YOUR_USERNAME/gocron.git cd gocron -
安装依赖
pnpm install pnpm run prepare
-
创建功能分支
git checkout -b feature/your-feature-name
-
修改代码并提交
git add . pnpm run commit # 使用交互式提交工具
-
推送并创建 Pull Request
git push origin feature/your-feature-name
本项目使用 commitizen 和 cz-git 来规范化提交信息。
请使用以下命令代替 git commit:
pnpm run commit这将引导你通过交互式提示创建格式正确的提交信息,例如:
feat(task): 添加任务依赖配置fix(api): 修复任务状态更新问题docs: 更新 API 文档
- 🐛 提交 Bug:请在 GitHub Issues 中提交
- 💡 功能建议:通过 Issues 分享你的想法
- 📝 文档改进:帮助我们完善文档
本项目遵循 MIT 许可证。详情请见 LICENSE 文件。




