{"adoption": {"forks": 454, "observed_at": "2026-08-28T04:07:29.125292+00:00", "stars": 2907}, "canonical_url": "https://ross.abutalabs.com/products/cronsun", "card": {"archived": false, "artifact_type": "application", "description": "A Distributed, Fault-Tolerant Cron-Style Job System.", "domain": ["microservices", "self-hosted", "developer-tools"], "enriched": true, "function": ["scheduling", "workflow-automation", "web-framework", "auth", "alerting"], "health_score": 20, "homepage": null, "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["shunfei/cronsun"], "name": "shunfei/cronsun", "platform": ["go", "self-hosted"], "pushed_at": "2024-06-06T06:17:43+00:00", "repo": "shunfei/cronsun", "stars": 2907, "tags": ["cron", "job-scheduler", "distributed-systems", "fault-tolerance", "etcd", "mongodb", "golang", "devops", "automation", "linux", "web-server", "docker"], "topics": ["crontab", "golang", "job-scheduler", "cron", "go", "fault-tolerance"], "urls": [], "use_cases": ["manage cron jobs across hundreds of servers from one web panel", "run scheduled tasks with high availability and failover", "replace scattered crontab files on many machines with centralized job management", "get email alerts when scheduled jobs fail", "restrict which commands scheduled jobs are allowed to execute"], "what_it_is": "cronsun is a distributed, fault-tolerant cron-style job scheduler written in Go, designed to manage scheduled jobs across many machines with a web management panel. It uses etcd for coordination and MongoDB for storing job definitions and execution results, and has been battle-tested in production on hundreds of servers.", "when_to_avoid": ["you need complex DAG-based workflow orchestration with dependencies between tasks", "you want a fully stable tagged release - master branch is explicitly not stable", "you can't operate etcd and MongoDB as dependencies", "you need strong authentication - built-in auth is simple with default admin credentials"], "when_to_choose": ["you need to schedule and monitor cron jobs on many machines with a central UI", "you want fault-tolerant job execution where node failures don't lose scheduled tasks", "you prefer a lightweight cron-focused tool over heavyweight workflow engines like Airflow"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/cronsun", "repo": "shunfei/cronsun", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.125292+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:34:24.216992+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8867323bf26f6613cb08079060d67aef44425a1baacd69ed4b3930bb6234e200", "fetched_at": "2026-08-28T04:07:29.125292+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shunfei/cronsun"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.125292+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:34:24.216992+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8867323bf26f6613cb08079060d67aef44425a1baacd69ed4b3930bb6234e200", "fetched_at": "2026-08-28T04:07:29.125292+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shunfei/cronsun"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:34:24.216992+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8867323bf26f6613cb08079060d67aef44425a1baacd69ed4b3930bb6234e200", "fetched_at": "2026-08-28T04:07:29.125292+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shunfei/cronsun"}], "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:07:29.125292+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.125292+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.125292+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:34:24.216992+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8867323bf26f6613cb08079060d67aef44425a1baacd69ed4b3930bb6234e200", "fetched_at": "2026-08-28T04:07:29.125292+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shunfei/cronsun"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.125292+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.125292+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:34:24.216992+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8867323bf26f6613cb08079060d67aef44425a1baacd69ed4b3930bb6234e200", "fetched_at": "2026-08-28T04:07:29.125292+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shunfei/cronsun"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.125292+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.125292+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.125292+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:34:24.216992+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8867323bf26f6613cb08079060d67aef44425a1baacd69ed4b3930bb6234e200", "fetched_at": "2026-08-28T04:07:29.125292+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shunfei/cronsun"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.125292+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.125292+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:34:24.216992+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8867323bf26f6613cb08079060d67aef44425a1baacd69ed4b3930bb6234e200", "fetched_at": "2026-08-28T04:07:29.125292+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shunfei/cronsun"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:34:24.216992+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8867323bf26f6613cb08079060d67aef44425a1baacd69ed4b3930bb6234e200", "fetched_at": "2026-08-28T04:07:29.125292+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shunfei/cronsun"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:34:24.216992+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8867323bf26f6613cb08079060d67aef44425a1baacd69ed4b3930bb6234e200", "fetched_at": "2026-08-28T04:07:29.125292+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shunfei/cronsun"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:34:24.216992+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8867323bf26f6613cb08079060d67aef44425a1baacd69ed4b3930bb6234e200", "fetched_at": "2026-08-28T04:07:29.125292+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shunfei/cronsun"}], "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": 3403, "days_push": 818, "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}}