Skip to content

gocronx-team/gocron

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

478 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gocron - Distributed scheduled Task Scheduler

Release Downloads License

English | 简体中文

A lightweight distributed scheduled task management system developed in Go, designed to replace Linux-crontab.

📖 Documentation

Full documentation is available at: document

✨ Features

  • 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

🚀 Quick Start (Docker)

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:5920

For more deployment methods (Binary, Development), please refer to the Installation Guide.

🔷 High Availability (Optional)

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 5921

See the High Availability Guide for setup details, K8s deployment, and environment variable overrides.

📸 Screenshots

Scheduled Tasks
Scheduled Tasks

Agent Auto-Registration Task Management
Agent Auto-Registration Task Management

🤝 Contributing

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 commit

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.

Star History

Star History Chart

Packages

 
 
 

Contributors