{"adoption": {"forks": 137, "observed_at": "2026-08-28T04:03:16.737167+00:00", "stars": 1026}, "canonical_url": "https://ross.abutalabs.com/products/bistro", "card": {"archived": true, "artifact_type": "framework", "description": "Bistro is a flexible distributed scheduler, a high-performance framework supporting multiple paradigms while retaining ease of configuration, management, and monitoring.", "domain": ["microservices", "big-data", "developer-tools"], "enriched": true, "function": ["scheduling", "workflow-automation", "etl", "microservices", "cli"], "health_score": 10, "homepage": "https://bistro.io", "language": "C++", "license": "MIT", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["facebookarchive/bistro"], "name": "facebookarchive/bistro", "platform": ["cpp", "cli"], "pushed_at": "2023-03-21T04:04:09+00:00", "repo": "facebookarchive/bistro", "stars": 1026, "tags": ["distributed-scheduler", "task-execution", "batch-jobs", "resource-aware-scheduling", "facebook", "archived", "data-engineering", "automation", "linux", "docker", "web-server"], "topics": [], "urls": [], "use_cases": ["schedule distributed batch compute jobs with CPU/GPU resource constraints", "run map-only ETL tasks safely against live production databases", "replace cron for periodic data processing tasks", "build a resource-aware job queue for batch workloads", "run data compression or maintenance tasks on HBase or MySQL hosts without impacting live traffic", "model MapReduce-style map/shuffle/reduce pipelines as dependent jobs"], "what_it_is": "Bistro is a C++ distributed task scheduler framework from Facebook that schedules and runs distributed tasks, including data-parallel jobs, with resource constraints for worker hosts and data-access bottlenecks. It supports multiple scheduling paradigms (batch, periodic, sharded, MapReduce-style) and ships with command-line tooling, a web UI, and a REST scheduler API.", "when_to_avoid": ["you want an actively maintained project - the repository has been archived by Facebook", "you need a simple cron replacement or lightweight workflow orchestrator with a large community", "you require Windows or macOS production support - it targets 64-bit Linux with heavy Folly/FBThrift dependencies", "you prefer mainstream schedulers with broad ecosystem support like Airflow, Kubernetes jobs, or Hadoop"], "when_to_choose": ["you need a flexible, resource-aware scheduler for distributed tasks across many worker hosts", "you must enforce resource constraints tied to data hosts or physical bottlenecks like disk IOPs", "you want one framework to handle batch, periodic, and sharded scheduling paradigms", "you need a scheduler with a REST API, web UI, and scriptable JSON configuration"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/bistro", "repo": "facebookarchive/bistro", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:16.737167+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:07:57.988605+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fdbabfce204fcd71c05186c8d73f905363fd46bc7ab6a79fe7ca76e818d56a2e", "fetched_at": "2026-08-28T04:03:16.737167+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebookarchive/bistro"}, {"content_hash": "6b09bbe45b39f623aaa1be8ef7f46bb1e1efa2c96bf832e2a2aa4c28e1dbf7f7", "fetched_at": "2026-08-29T13:08:10.980767+00:00", "kind": "homepage", "missing": false, "url": "https://bistro.io"}, {"content_hash": "9242819541cd44fcfef6f49e06aadf81eddcae45322a4f3cb2b6791c766cbea2", "fetched_at": "2026-08-29T13:08:10.983686+00:00", "kind": "site_page", "missing": false, "url": "https://bistro.io/docs"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:16.737167+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:07:57.988605+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fdbabfce204fcd71c05186c8d73f905363fd46bc7ab6a79fe7ca76e818d56a2e", "fetched_at": "2026-08-28T04:03:16.737167+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebookarchive/bistro"}, {"content_hash": "6b09bbe45b39f623aaa1be8ef7f46bb1e1efa2c96bf832e2a2aa4c28e1dbf7f7", "fetched_at": "2026-08-29T13:08:10.980767+00:00", "kind": "homepage", "missing": false, "url": "https://bistro.io"}, {"content_hash": "9242819541cd44fcfef6f49e06aadf81eddcae45322a4f3cb2b6791c766cbea2", "fetched_at": "2026-08-29T13:08:10.983686+00:00", "kind": "site_page", "missing": false, "url": "https://bistro.io/docs"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:07:57.988605+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fdbabfce204fcd71c05186c8d73f905363fd46bc7ab6a79fe7ca76e818d56a2e", "fetched_at": "2026-08-28T04:03:16.737167+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebookarchive/bistro"}, {"content_hash": "6b09bbe45b39f623aaa1be8ef7f46bb1e1efa2c96bf832e2a2aa4c28e1dbf7f7", "fetched_at": "2026-08-29T13:08:10.980767+00:00", "kind": "homepage", "missing": false, "url": "https://bistro.io"}, {"content_hash": "9242819541cd44fcfef6f49e06aadf81eddcae45322a4f3cb2b6791c766cbea2", "fetched_at": "2026-08-29T13:08:10.983686+00:00", "kind": "site_page", "missing": false, "url": "https://bistro.io/docs"}], "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:03:16.737167+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:16.737167+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:16.737167+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:07:57.988605+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fdbabfce204fcd71c05186c8d73f905363fd46bc7ab6a79fe7ca76e818d56a2e", "fetched_at": "2026-08-28T04:03:16.737167+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebookarchive/bistro"}, {"content_hash": "6b09bbe45b39f623aaa1be8ef7f46bb1e1efa2c96bf832e2a2aa4c28e1dbf7f7", "fetched_at": "2026-08-29T13:08:10.980767+00:00", "kind": "homepage", "missing": false, "url": "https://bistro.io"}, {"content_hash": "9242819541cd44fcfef6f49e06aadf81eddcae45322a4f3cb2b6791c766cbea2", "fetched_at": "2026-08-29T13:08:10.983686+00:00", "kind": "site_page", "missing": false, "url": "https://bistro.io/docs"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:16.737167+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:16.737167+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:07:57.988605+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fdbabfce204fcd71c05186c8d73f905363fd46bc7ab6a79fe7ca76e818d56a2e", "fetched_at": "2026-08-28T04:03:16.737167+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebookarchive/bistro"}, {"content_hash": "6b09bbe45b39f623aaa1be8ef7f46bb1e1efa2c96bf832e2a2aa4c28e1dbf7f7", "fetched_at": "2026-08-29T13:08:10.980767+00:00", "kind": "homepage", "missing": false, "url": "https://bistro.io"}, {"content_hash": "9242819541cd44fcfef6f49e06aadf81eddcae45322a4f3cb2b6791c766cbea2", "fetched_at": "2026-08-29T13:08:10.983686+00:00", "kind": "site_page", "missing": false, "url": "https://bistro.io/docs"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:16.737167+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:16.737167+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:16.737167+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:07:57.988605+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fdbabfce204fcd71c05186c8d73f905363fd46bc7ab6a79fe7ca76e818d56a2e", "fetched_at": "2026-08-28T04:03:16.737167+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebookarchive/bistro"}, {"content_hash": "6b09bbe45b39f623aaa1be8ef7f46bb1e1efa2c96bf832e2a2aa4c28e1dbf7f7", "fetched_at": "2026-08-29T13:08:10.980767+00:00", "kind": "homepage", "missing": false, "url": "https://bistro.io"}, {"content_hash": "9242819541cd44fcfef6f49e06aadf81eddcae45322a4f3cb2b6791c766cbea2", "fetched_at": "2026-08-29T13:08:10.983686+00:00", "kind": "site_page", "missing": false, "url": "https://bistro.io/docs"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:16.737167+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:16.737167+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:07:57.988605+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fdbabfce204fcd71c05186c8d73f905363fd46bc7ab6a79fe7ca76e818d56a2e", "fetched_at": "2026-08-28T04:03:16.737167+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebookarchive/bistro"}, {"content_hash": "6b09bbe45b39f623aaa1be8ef7f46bb1e1efa2c96bf832e2a2aa4c28e1dbf7f7", "fetched_at": "2026-08-29T13:08:10.980767+00:00", "kind": "homepage", "missing": false, "url": "https://bistro.io"}, {"content_hash": "9242819541cd44fcfef6f49e06aadf81eddcae45322a4f3cb2b6791c766cbea2", "fetched_at": "2026-08-29T13:08:10.983686+00:00", "kind": "site_page", "missing": false, "url": "https://bistro.io/docs"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:07:57.988605+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fdbabfce204fcd71c05186c8d73f905363fd46bc7ab6a79fe7ca76e818d56a2e", "fetched_at": "2026-08-28T04:03:16.737167+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebookarchive/bistro"}, {"content_hash": "6b09bbe45b39f623aaa1be8ef7f46bb1e1efa2c96bf832e2a2aa4c28e1dbf7f7", "fetched_at": "2026-08-29T13:08:10.980767+00:00", "kind": "homepage", "missing": false, "url": "https://bistro.io"}, {"content_hash": "9242819541cd44fcfef6f49e06aadf81eddcae45322a4f3cb2b6791c766cbea2", "fetched_at": "2026-08-29T13:08:10.983686+00:00", "kind": "site_page", "missing": false, "url": "https://bistro.io/docs"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:07:57.988605+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fdbabfce204fcd71c05186c8d73f905363fd46bc7ab6a79fe7ca76e818d56a2e", "fetched_at": "2026-08-28T04:03:16.737167+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebookarchive/bistro"}, {"content_hash": "6b09bbe45b39f623aaa1be8ef7f46bb1e1efa2c96bf832e2a2aa4c28e1dbf7f7", "fetched_at": "2026-08-29T13:08:10.980767+00:00", "kind": "homepage", "missing": false, "url": "https://bistro.io"}, {"content_hash": "9242819541cd44fcfef6f49e06aadf81eddcae45322a4f3cb2b6791c766cbea2", "fetched_at": "2026-08-29T13:08:10.983686+00:00", "kind": "site_page", "missing": false, "url": "https://bistro.io/docs"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:07:57.988605+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fdbabfce204fcd71c05186c8d73f905363fd46bc7ab6a79fe7ca76e818d56a2e", "fetched_at": "2026-08-28T04:03:16.737167+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebookarchive/bistro"}, {"content_hash": "6b09bbe45b39f623aaa1be8ef7f46bb1e1efa2c96bf832e2a2aa4c28e1dbf7f7", "fetched_at": "2026-08-29T13:08:10.980767+00:00", "kind": "homepage", "missing": false, "url": "https://bistro.io"}, {"content_hash": "9242819541cd44fcfef6f49e06aadf81eddcae45322a4f3cb2b6791c766cbea2", "fetched_at": "2026-08-29T13:08:10.983686+00:00", "kind": "site_page", "missing": false, "url": "https://bistro.io/docs"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4600, "days_push": 1261, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}