{"adoption": {"forks": 239, "observed_at": "2026-08-28T04:09:36.473148+00:00", "stars": 6141}, "canonical_url": "https://ross.abutalabs.com/products/faktory", "card": {"archived": false, "artifact_type": "service", "description": "Language-agnostic persistent background job server", "domain": ["backend", "developer-tools", "microservices"], "enriched": true, "function": ["message-queue", "scheduling", "monitoring", "webhook"], "health_score": 100, "homepage": "https://contribsys.com/faktory/", "language": "Go", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["contribsys/faktory"], "name": "contribsys/faktory", "platform": ["go", "self-hosted"], "pushed_at": "2026-08-26T00:21:00+00:00", "repo": "contribsys/faktory", "stars": 6141, "tags": ["background-jobs", "job-queue", "polyglot", "task-processing", "web-ui", "retry", "cron", "automation", "linux", "macos", "docker"], "topics": [], "urls": [], "use_cases": ["distribute background jobs across many machines in any language", "process async tasks with retries and exponential backoff", "schedule cron-style recurring jobs", "monitor and manage job queues via a web UI", "replace language-specific job systems with a polyglot work server", "run background workers with Docker or AWS ECS"], "what_it_is": "Faktory is a language-agnostic background job server that stores jobs as JSON in queues for workers in any programming language to fetch and execute. It provides persistent job storage, retries with exponential backoff, scheduled and unique jobs, and a comprehensive Web UI for monitoring.", "when_to_avoid": ["you only need background jobs in a single language with an in-ecosystem library like Sidekiq or Celery", "you require a commercial license or enterprise features like batches and workflows without paying", "you want a fully managed cloud queue service"], "when_to_choose": ["you need background job processing across multiple programming languages", "you want a standalone job server with persistent queues and a built-in Web UI", "you need retries, scheduling, and unique jobs out of the box"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/faktory", "repo": "contribsys/faktory", "role": "main", "score": 87}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:36.473148+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:47:33.986218+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a949409ef1de3957ecaf161cee1e1f0f492adf7a54e48b4bf7562673bbc1a754", "fetched_at": "2026-08-28T04:09:36.473148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/contribsys/faktory"}, {"content_hash": "ec4e9a5caff26e478ad3664e7cf6a65c4233fa470b63d197c263a58ff3919d4f", "fetched_at": "2026-08-29T08:44:23.217805+00:00", "kind": "homepage", "missing": false, "url": "https://contribsys.com/faktory/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:36.473148+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:47:33.986218+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a949409ef1de3957ecaf161cee1e1f0f492adf7a54e48b4bf7562673bbc1a754", "fetched_at": "2026-08-28T04:09:36.473148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/contribsys/faktory"}, {"content_hash": "ec4e9a5caff26e478ad3664e7cf6a65c4233fa470b63d197c263a58ff3919d4f", "fetched_at": "2026-08-29T08:44:23.217805+00:00", "kind": "homepage", "missing": false, "url": "https://contribsys.com/faktory/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:47:33.986218+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a949409ef1de3957ecaf161cee1e1f0f492adf7a54e48b4bf7562673bbc1a754", "fetched_at": "2026-08-28T04:09:36.473148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/contribsys/faktory"}, {"content_hash": "ec4e9a5caff26e478ad3664e7cf6a65c4233fa470b63d197c263a58ff3919d4f", "fetched_at": "2026-08-29T08:44:23.217805+00:00", "kind": "homepage", "missing": false, "url": "https://contribsys.com/faktory/"}], "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:36.473148+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:36.473148+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:36.473148+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:47:33.986218+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a949409ef1de3957ecaf161cee1e1f0f492adf7a54e48b4bf7562673bbc1a754", "fetched_at": "2026-08-28T04:09:36.473148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/contribsys/faktory"}, {"content_hash": "ec4e9a5caff26e478ad3664e7cf6a65c4233fa470b63d197c263a58ff3919d4f", "fetched_at": "2026-08-29T08:44:23.217805+00:00", "kind": "homepage", "missing": false, "url": "https://contribsys.com/faktory/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:36.473148+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:36.473148+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:47:33.986218+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a949409ef1de3957ecaf161cee1e1f0f492adf7a54e48b4bf7562673bbc1a754", "fetched_at": "2026-08-28T04:09:36.473148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/contribsys/faktory"}, {"content_hash": "ec4e9a5caff26e478ad3664e7cf6a65c4233fa470b63d197c263a58ff3919d4f", "fetched_at": "2026-08-29T08:44:23.217805+00:00", "kind": "homepage", "missing": false, "url": "https://contribsys.com/faktory/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:36.473148+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:36.473148+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:36.473148+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:47:33.986218+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a949409ef1de3957ecaf161cee1e1f0f492adf7a54e48b4bf7562673bbc1a754", "fetched_at": "2026-08-28T04:09:36.473148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/contribsys/faktory"}, {"content_hash": "ec4e9a5caff26e478ad3664e7cf6a65c4233fa470b63d197c263a58ff3919d4f", "fetched_at": "2026-08-29T08:44:23.217805+00:00", "kind": "homepage", "missing": false, "url": "https://contribsys.com/faktory/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:36.473148+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:36.473148+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:47:33.986218+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a949409ef1de3957ecaf161cee1e1f0f492adf7a54e48b4bf7562673bbc1a754", "fetched_at": "2026-08-28T04:09:36.473148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/contribsys/faktory"}, {"content_hash": "ec4e9a5caff26e478ad3664e7cf6a65c4233fa470b63d197c263a58ff3919d4f", "fetched_at": "2026-08-29T08:44:23.217805+00:00", "kind": "homepage", "missing": false, "url": "https://contribsys.com/faktory/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:47:33.986218+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a949409ef1de3957ecaf161cee1e1f0f492adf7a54e48b4bf7562673bbc1a754", "fetched_at": "2026-08-28T04:09:36.473148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/contribsys/faktory"}, {"content_hash": "ec4e9a5caff26e478ad3664e7cf6a65c4233fa470b63d197c263a58ff3919d4f", "fetched_at": "2026-08-29T08:44:23.217805+00:00", "kind": "homepage", "missing": false, "url": "https://contribsys.com/faktory/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:47:33.986218+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a949409ef1de3957ecaf161cee1e1f0f492adf7a54e48b4bf7562673bbc1a754", "fetched_at": "2026-08-28T04:09:36.473148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/contribsys/faktory"}, {"content_hash": "ec4e9a5caff26e478ad3664e7cf6a65c4233fa470b63d197c263a58ff3919d4f", "fetched_at": "2026-08-29T08:44:23.217805+00:00", "kind": "homepage", "missing": false, "url": "https://contribsys.com/faktory/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:47:33.986218+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a949409ef1de3957ecaf161cee1e1f0f492adf7a54e48b4bf7562673bbc1a754", "fetched_at": "2026-08-28T04:09:36.473148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/contribsys/faktory"}, {"content_hash": "ec4e9a5caff26e478ad3664e7cf6a65c4233fa470b63d197c263a58ff3919d4f", "fetched_at": "2026-08-29T08:44:23.217805+00:00", "kind": "homepage", "missing": false, "url": "https://contribsys.com/faktory/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 65}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3366, "days_push": 8, "days_rel": 23, "gap_med": 191.5, "n_releases_24m": 5}, "score": 87, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}