English | 简体中文
A lightweight distributed scheduled task management system developed in Go, designed to replace Linux-crontab.
Full documentation is available at: document
- 🚀 Quick Start - Installation and deployment guide
- 🤖 Agent Auto-Registration - One-click task node deployment
- ⚙️ Configuration - Detailed configuration guide
- 🔌 API Documentation - API reference
- Web Interface: Intuitive task management interface
- Second-level Precision: Supports Crontab expressions with second precision
- High Availability: Database-lock-based leader election, automatic failover in seconds
- Task Retry: Configurable retry policies for failed tasks
- Task Dependency: Supports task dependency configuration
- Access Control: Comprehensive user and permission management
- 2FA Security: Two-Factor Authentication support
- Agent Auto-Registration: One-click installation for Linux/macOS
- Multi-Database: MySQL / PostgreSQL / SQLite support
- Log Management: Complete execution logs with auto-cleanup
- Notifications: Email, Slack, Webhook support
The easiest way to deploy is using Docker Compose:
# 1. Clone the project
git clone https://github.com/gocronx-team/gocron.git
cd gocron
# 2. Start services
docker-compose up -d
# 3. Access Web Interface
# http://localhost:5920For more deployment methods (Binary, Development), please refer to the Installation Guide.
Deploy multiple gocron instances pointing to the same MySQL/PostgreSQL database. Leader election is automatic — no extra configuration needed. SQLite runs in single-node mode.
# Node 1
./gocron web --port 5920
# Node 2 (same database)
./gocron web --port 5921See the High Availability Guide for setup details, K8s deployment, and environment variable overrides.
| Agent Auto-Registration | Task Management |
![]() |
![]() |
Contributions are welcome! See CONTRIBUTING.md for the full guide.
One thing to note: commit messages are validated by a git hook
(commitlint), so use the
interactive commit tool instead of git commit:
pnpm install # first-time setup (installs git hooks)
pnpm run commit # create a properly formatted commitThis project is licensed under the MIT License. See the LICENSE file for details.


