{"id":32764030,"url":"https://github.com/gocronx-team/gocron","last_synced_at":"2026-07-05T05:01:16.121Z","repository":{"id":321873593,"uuid":"1084104607","full_name":"gocronx-team/gocron","owner":"gocronx-team","description":"distributed scheduled task management system ","archived":false,"fork":false,"pushed_at":"2026-07-05T03:12:30.000Z","size":54047,"stargazers_count":779,"open_issues_count":10,"forks_count":55,"subscribers_count":23,"default_branch":"master","last_synced_at":"2026-07-05T03:14:58.658Z","etag":null,"topics":["cron","crontab","distributed","gin","go","gocron","goland","scheduler","task","vite","vue3"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gocronx-team.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-27T08:22:16.000Z","updated_at":"2026-07-05T03:10:27.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/gocronx-team/gocron","commit_stats":null,"previous_names":["gocronx-team/gocron"],"tags_count":65,"template":false,"template_full_name":null,"purl":"pkg:github/gocronx-team/gocron","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gocronx-team%2Fgocron","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gocronx-team%2Fgocron/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gocronx-team%2Fgocron/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gocronx-team%2Fgocron/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gocronx-team","download_url":"https://codeload.github.com/gocronx-team/gocron/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gocronx-team%2Fgocron/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35143802,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-05T02:00:06.290Z","response_time":100,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cron","crontab","distributed","gin","go","gocron","goland","scheduler","task","vite","vue3"],"created_at":"2025-11-04T05:01:08.927Z","updated_at":"2026-07-05T05:01:16.116Z","avatar_url":"https://github.com/gocronx-team.png","language":"Go","funding_links":[],"categories":["开源工具"],"sub_categories":["效率工具"],"readme":"# gocron - Distributed scheduled Task Scheduler\n\n[![Release](https://img.shields.io/github/release/gocronx-team/gocron.svg?label=Release)](https://github.com/gocronx-team/gocron/releases) [![Downloads](https://img.shields.io/github/downloads/gocronx-team/gocron/total.svg)](https://github.com/gocronx-team/gocron/releases) [![License](https://img.shields.io/github/license/gocronx-team/gocron.svg)](https://github.com/gocronx-team/gocron/blob/master/LICENSE)\n\nEnglish | [简体中文](README_ZH.md)\n\nA lightweight distributed scheduled task management system developed in Go, designed to replace Linux-crontab.\n\n## 📖 Documentation\n\nFull documentation is available at: **[document](https://gocron-docs.pages.dev/en/)**\n\n- 🚀 [Quick Start](https://gocron-docs.pages.dev/en/guide/quick-start) - Installation and deployment guide\n- 🤖 [Agent Auto-Registration](https://gocron-docs.pages.dev/en/guide/agent-registration) - One-click task node deployment\n- ⚙️ [Configuration](https://gocron-docs.pages.dev/en/guide/configuration) - Detailed configuration guide\n- 🔌 [API Documentation](https://gocron-docs.pages.dev/en/guide/api) - API reference\n\n## ✨ Features\n\n- **Web Interface**: Intuitive task management interface\n- **Second-level Precision**: Supports Crontab expressions with second precision\n- **High Availability**: Database-lock-based leader election, automatic failover in seconds\n- **Task Retry**: Configurable retry policies for failed tasks\n- **Task Dependency**: Supports task dependency configuration\n- **Access Control**: Comprehensive user and permission management\n- **2FA Security**: Two-Factor Authentication support\n- **Agent Auto-Registration**: One-click installation for Linux/macOS\n- **MCP Support**: Remote management by AI clients (Claude Desktop, Cursor, etc.) via the Model Context Protocol, secured with web-managed access tokens\n- **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)\n- **Multi-Database**: MySQL / PostgreSQL / SQLite support\n- **Log Management**: Complete execution logs with auto-cleanup\n- **Notifications**: Email, Slack, Webhook support\n\n## 🚀 Quick Start\n\nThe fastest way to try gocron is Docker Compose (builds the image from source locally):\n\n```bash\n# 1. Clone the project\ngit clone https://github.com/gocronx-team/gocron.git\ncd gocron\n\n# 2. Start services\ndocker compose up -d\n\n# 3. Access Web Interface\n# http://localhost:5920\n```\n\n\u003e For production, binary deployment is recommended. See the [Installation Guide](https://gocron-docs.pages.dev/en/guide/quick-start) for all methods (Binary, Docker, Kubernetes, Development).\n\n## 🔷 High Availability (Optional)\n\nDeploy multiple gocron instances pointing to the same **MySQL/PostgreSQL** database. Leader election is automatic — no extra configuration needed. SQLite runs in single-node mode.\n\n```bash\n# Node 1\n./gocron web --port 5920\n\n# Node 2 (same database)\n./gocron web --port 5921\n```\n\nSee the [High Availability Guide](https://gocron-docs.pages.dev/en/guide/high-availability) for setup details, K8s deployment, and environment variable overrides.\n\n## 📸 Screenshots\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eScheduled Tasks\u003c/b\u003e\u003cbr\u003e\n  \u003cimg src=\"assets/screenshot/scheduler_en.png\" alt=\"Scheduled Tasks\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd width=\"50%\" align=\"center\"\u003e\u003cb\u003eAgent Auto-Registration\u003c/b\u003e\u003c/td\u003e\n    \u003ctd width=\"50%\" align=\"center\"\u003e\u003cb\u003eTask Management\u003c/b\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"assets/screenshot/agent_en.png\" alt=\"Agent Auto-Registration\" width=\"100%\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"assets/screenshot/task_en.png\" alt=\"Task Management\" width=\"100%\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eAI Failure Diagnosis\u003c/b\u003e\u003cbr\u003e\n  \u003cimg src=\"assets/screenshot/ai_diagnose_en.png\" alt=\"AI Failure Diagnosis\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n## 🤝 Contributing\n\nContributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for the full guide.\n\nOne thing to note: commit messages are validated by a git hook\n([commitlint](https://github.com/conventional-changelog/commitlint)), so use the\ninteractive commit tool instead of `git commit`:\n\n```bash\npnpm install      # first-time setup (installs git hooks)\npnpm run commit   # create a properly formatted commit\n```\n\n## 📄 License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=gocronx-team/gocron\u0026type=Date)](https://www.star-history.com/#gocronx-team/gocron\u0026Date)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgocronx-team%2Fgocron","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgocronx-team%2Fgocron","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgocronx-team%2Fgocron/lists"}