{"adoption": {"forks": 1303, "observed_at": "2026-08-28T04:09:41.114738+00:00", "stars": 6263}, "canonical_url": "https://ross.abutalabs.com/products/ouqiang-gocron", "card": {"archived": false, "artifact_type": "application", "description": "定时任务管理系统", "domain": ["self-hosted", "developer-tools"], "enriched": true, "function": ["scheduling", "web-framework", "workflow-automation", "monitoring", "alerting"], "health_score": 20, "homepage": null, "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["ouqiang/gocron"], "name": "ouqiang/gocron", "platform": ["windows", "self-hosted", "go"], "pushed_at": "2024-03-27T15:57:36+00:00", "repo": "ouqiang/gocron", "stars": 6263, "tags": ["cron-scheduler", "distributed-task-scheduling", "crontab-replacement", "web-ui", "task-orchestration", "mysql", "automation", "devops", "linux", "macos", "docker", "web-server"], "topics": ["cron", "scheduler", "crontab", "golang"], "urls": [], "use_cases": ["manage cron jobs from a web interface instead of crontab", "run scheduled shell commands on multiple servers centrally", "schedule HTTP endpoint pings on a cron schedule", "retry failed scheduled tasks automatically", "chain tasks so one runs after another completes", "get email or Slack notifications when cron jobs fail", "control who can edit scheduled tasks with user permissions"], "what_it_is": "gocron is a lightweight web-based distributed cron job scheduling and management system written in Go, designed to replace Linux crontab. It provides a web UI for managing scheduled shell and HTTP tasks across multiple worker nodes, with retry, timeout, dependency, notification, and access control features.", "when_to_avoid": ["you only need simple single-machine crontab scheduling", "you require a scheduler backed by databases other than MySQL", "you need a Go scheduling library to embed in your own code rather than a standalone application", "the project appears to be in maintenance mode with infrequent releases"], "when_to_choose": ["you need a centralized web UI to manage cron jobs across many machines", "you want task retries, timeouts, and dependencies beyond plain crontab", "you need multi-user access control for scheduled tasks", "you want a lightweight self-hosted scheduler backed by MySQL"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ouqiang-gocron", "repo": "ouqiang/gocron", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.114738+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:46:30.615320+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ec0f83782eeb717537badd878d1ec272e7a8ed7320800afc3e63a72a9c6d7854", "fetched_at": "2026-08-28T04:09:41.114738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ouqiang/gocron"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.114738+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:46:30.615320+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ec0f83782eeb717537badd878d1ec272e7a8ed7320800afc3e63a72a9c6d7854", "fetched_at": "2026-08-28T04:09:41.114738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ouqiang/gocron"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:46:30.615320+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ec0f83782eeb717537badd878d1ec272e7a8ed7320800afc3e63a72a9c6d7854", "fetched_at": "2026-08-28T04:09:41.114738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ouqiang/gocron"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.114738+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.114738+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.114738+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:46:30.615320+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ec0f83782eeb717537badd878d1ec272e7a8ed7320800afc3e63a72a9c6d7854", "fetched_at": "2026-08-28T04:09:41.114738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ouqiang/gocron"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.114738+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.114738+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:46:30.615320+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ec0f83782eeb717537badd878d1ec272e7a8ed7320800afc3e63a72a9c6d7854", "fetched_at": "2026-08-28T04:09:41.114738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ouqiang/gocron"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.114738+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.114738+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.114738+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:46:30.615320+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ec0f83782eeb717537badd878d1ec272e7a8ed7320800afc3e63a72a9c6d7854", "fetched_at": "2026-08-28T04:09:41.114738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ouqiang/gocron"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.114738+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.114738+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:46:30.615320+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ec0f83782eeb717537badd878d1ec272e7a8ed7320800afc3e63a72a9c6d7854", "fetched_at": "2026-08-28T04:09:41.114738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ouqiang/gocron"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:46:30.615320+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ec0f83782eeb717537badd878d1ec272e7a8ed7320800afc3e63a72a9c6d7854", "fetched_at": "2026-08-28T04:09:41.114738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ouqiang/gocron"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:46:30.615320+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ec0f83782eeb717537badd878d1ec272e7a8ed7320800afc3e63a72a9c6d7854", "fetched_at": "2026-08-28T04:09:41.114738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ouqiang/gocron"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:46:30.615320+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ec0f83782eeb717537badd878d1ec272e7a8ed7320800afc3e63a72a9c6d7854", "fetched_at": "2026-08-28T04:09:41.114738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ouqiang/gocron"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3481, "days_push": 889, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}