Skip to content

gocronx-team/gocron

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

553 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
  • MCP Support: Remote management by AI clients (Claude Desktop, Cursor, etc.) via the Model Context Protocol, secured with web-managed access tokens
  • AI Assist: Natural-language to cron expression, AI-powered failure-log diagnosis, and an in-app AI ops chat assistant (query tasks/logs/hosts/templates, diagnose failures), backed by any OpenAI-compatible model (configurable endpoint, also works with self-hosted/local models)
  • Multi-Database: MySQL / PostgreSQL / SQLite support
  • Log Management: Complete execution logs with auto-cleanup
  • Notifications: Email, Slack, Webhook support

🚀 Quick Start

The fastest way to try gocron is Docker Compose (builds the image from source locally):

# 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 production, binary deployment is recommended. See the Installation Guide for all methods (Binary, Docker, Kubernetes, Development).

🔷 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

AI Failure Diagnosis
AI Failure Diagnosis

🤝 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

About

distributed scheduled task management system

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors