# zerodha/dungbeetle

A distributed job server built specifically for queuing and executing heavy SQL read jobs asynchronously. Separate out reporting layer from apps. MySQL, Postgres, ClickHouse.

Repository: https://github.com/zerodha/dungbeetle
Canonical: https://ross.abutalabs.com/products/dungbeetle
Language: Go
License: MIT
License Family: permissive
Topics: job-scheduler, job-queue, sql-query, reporting, sql, database, workers, mysql, postgres, postgresql, broker-backend
Last push: 2026-05-14T08:58:31+00:00

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

## Adoption (not part of the score)
Stars 1264, forks 174 (observed 2026-08-28T04:04:10.576536+00:00)

## What it is
DungBeetle is a lightweight, single-binary distributed job server for queuing and asynchronously executing heavy SQL read jobs (such as reports) against MySQL, PostgreSQL, or ClickHouse databases. Results are written to separate ephemeral results databases and exposed via HTTP APIs, offloading reporting work from primary application databases.

## Use cases
- queue heavy SQL report queries asynchronously instead of running them in the app
- generate user-facing reports without overloading the primary database
- offload reporting layer from application servers
- run thousands of concurrent report requests via a distributed job queue
- cache SQL query results in a fast ephemeral results database
- manage and cancel queued SQL jobs over HTTP APIs

## When to choose
- your app serves many concurrent users requesting SQL-based reports
- you want to decouple heavy read queries from your main application and database
- you need a simple single-binary job queue for SQL workloads with MySQL, Postgres, or ClickHouse sources
- you want job results written to a separate fast results database for follow-up queries

## When to avoid
- you need general-purpose background job processing beyond SQL queries
- you need write jobs or transactional task execution, not read-only reporting
- you prefer embedding job queues directly in your application framework
- you need complex workflow orchestration or DAG-based scheduling

## Facets
- artifact type: service
- maturity: active
- function: database, message-queue, http-server, api-framework, scheduling
- domain: databases, backend, analytics, developer-tools
- platform: windows, self-hosted, go
- tags: job-queue, sql-reports, report-generation, distributed-workers, async-jobs, clickhouse, mysql, postgresql, redis-broker, single-binary, data-engineering, linux, macos, docker

## Member repositories
- zerodha/dungbeetle (main) score 60

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:10.576536+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-30T05:04:04.924729+00:00, confidence not recorded.
  - readme: https://github.com/zerodha/dungbeetle (fetched 2026-08-28T04:04:10.576536+00:00, sha 8168846d7fda)
- Data as of 2026-08-30T08:39:29.467469+00:00.
