# facebookarchive/bistro

Bistro is a flexible distributed scheduler, a high-performance framework supporting multiple paradigms while retaining ease of configuration, management, and monitoring.

Repository: https://github.com/facebookarchive/bistro
Canonical: https://ross.abutalabs.com/products/bistro
Homepage: https://bistro.io
Language: C++
License: MIT
License Family: permissive
Archived: true
Last push: 2023-03-21T04:04:09+00:00

## Health v2 (maintenance only)
Score: 10/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 4600, "days_push": 1261, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, archived
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1026, forks 137 (observed 2026-08-28T04:03:16.737167+00:00)

## 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.

## 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

## 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

## 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

## Facets
- artifact type: framework
- maturity: abandoned
- function: scheduling, workflow-automation, etl, microservices, cli
- domain: microservices, big-data, developer-tools
- platform: cpp, cli
- tags: distributed-scheduler, task-execution, batch-jobs, resource-aware-scheduling, facebook, archived, data-engineering, automation, linux, docker, web-server

## Member repositories
- facebookarchive/bistro (main) score 10

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:16.737167+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T07:07:57.988605+00:00, confidence not recorded.
  - readme: https://github.com/facebookarchive/bistro (fetched 2026-08-28T04:03:16.737167+00:00, sha fdbabfce204f)
  - homepage: https://bistro.io (fetched 2026-08-29T13:08:10.980767+00:00, sha 6b09bbe45b39)
  - site_page: https://bistro.io/docs (fetched 2026-08-29T13:08:10.983686+00:00, sha 9242819541cd)
- Data as of 2026-08-30T08:39:29.467469+00:00.
