# apalis-dev/apalis

Type-safe, extensible, and high-performance background processing library for Rust

Repository: https://github.com/apalis-dev/apalis
Canonical: https://ross.abutalabs.com/products/apalis
Homepage: https://apalis.dev
Language: Rust
License: MIT
License Family: permissive
Topics: background-jobs, rust, postgres, redis, sqlite, message-queue, job-scheduler, background-tasks, broker, queue, task-scheduler
Last push: 2026-07-25T11:24:39+00:00

## Health v2 (maintenance only)
Score: 82/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 94, release rhythm 57, longevity 100
- inputs: {"age_days": 1551, "days_push": 39, "days_rel": 288, "gap_med": 30, "n_releases_24m": 12}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1363, forks 91 (observed 2026-08-28T04:04:30.434439+00:00)

## What it is
Apalis is a type-safe, extensible background processing library for Rust for building durable, distributed job and task processing systems. It supports multiple backends (Postgres, Redis, SQLite), Tower-based middleware, cron scheduling, sequential and DAG workflows, and a web UI for monitoring.

## Use cases
- run background jobs in a rust web app
- schedule cron tasks in rust
- process email sending queues asynchronously
- build distributed task workers backed by postgres or redis
- orchestrate multi-step DAG workflows
- monitor and retry failed background tasks

## When to choose
- you need type-safe, macro-free background job processing in Rust
- you want durable queues on Postgres, Redis, or SQLite
- you need retries, rate limiting, and graceful shutdown out of the box
- you want Tower middleware compatibility and observability via tracing

## When to avoid
- you need a language-agnostic message broker consumed by non-Rust services
- you need enterprise features like encryption at rest or batch processing without a paid plan
- you want a zero-dependency in-process job runner without a database backend

## Facets
- artifact type: library
- maturity: active
- function: message-queue, scheduling, workflow-automation, middleware, monitoring
- domain: backend, developer-tools, microservices
- platform: rust, windows, self-hosted
- tags: background-jobs, job-queue, task-processing, postgres, redis, sqlite, cron, tower, worker, dag-workflows, web-ui, automation, linux, macos, docker

## Member repositories
- apalis-dev/apalis (main) score 82

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:30.434439+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-30T04:41:24.500558+00:00, confidence not recorded.
  - readme: https://github.com/apalis-dev/apalis (fetched 2026-08-28T04:04:30.434439+00:00, sha 19986121e359)
  - homepage: https://apalis.dev (fetched 2026-08-29T11:59:01.847339+00:00, sha 6023d8446b60)
  - site_page: https://apalis.dev/docs (fetched 2026-08-29T11:59:01.849971+00:00, sha d42fe92f077f)
  - site_page: https://apalis.dev/docs/introduction/quickstart (fetched 2026-08-29T11:59:01.853037+00:00, sha b475fcdcdfd1)
  - site_page: https://apalis.dev/docs/guides/tasks/introduction (fetched 2026-08-29T11:59:01.854557+00:00, sha f04687a3b00e)
  - site_page: https://apalis.dev/docs/products/web-board (fetched 2026-08-29T11:59:01.856199+00:00, sha 6b24b037716a)
  - site_page: https://apalis.dev/docs/introduction/architecture (fetched 2026-08-29T11:59:01.857762+00:00, sha 769625f517d8)
  - site_page: https://apalis.dev/docs/guides/workers/middleware (fetched 2026-08-29T11:59:01.859420+00:00, sha e7754163a255)
  - site_page: https://apalis.dev/docs/guides/workflows (fetched 2026-08-29T11:59:01.861145+00:00, sha f24c3603001c)
  - registry_crates: https://crates.io/api/v1/crates/apalis (fetched 2026-08-29T11:59:01.862688+00:00, sha 87d79548c925)
- Data as of 2026-08-30T08:39:29.467469+00:00.
