#apalis #task-queue #api

apalis-board-api

HTTP utilities for managing apalis task queues

5 releases

Uses new Rust 2024

new 1.0.0-rc.2 Jan 10, 2026
1.0.0-rc.1 Dec 26, 2025
1.0.0-beta.1 Nov 19, 2025
1.0.0-alpha.2 Nov 1, 2025
1.0.0-alpha.1 Oct 31, 2025

#1986 in Asynchronous

Download history 96/week @ 2025-10-30 46/week @ 2025-11-13 56/week @ 2025-11-20 99/week @ 2025-11-27 109/week @ 2025-12-04 10/week @ 2025-12-11 81/week @ 2025-12-18 133/week @ 2025-12-25 55/week @ 2026-01-01 227/week @ 2026-01-08

501 downloads per month
Used in 2 crates (via apalis-board)

MIT/Apache

1.5MB
4K SLoC

JavaScript 2.5K SLoC // 0.0% comments Rust 1K SLoC // 0.0% comments

apalis-board

apalis-board


apalis-board provides utilities for building web interfaces and apis for managing apalis backends.

Key features:

  • Visualize your queues and jobs in real time
  • Beautiful UI to track job status and progress
  • Perform actions on jobs directly from the dashboard
  • Gain insights into queue health and worker activity
  • Easily integrate with existing apalis-based services
  • Streamline job management and debugging

Get a clear overview of what's happening in your queues and manage jobs efficiently.

Crates

Usage

Each version of apalis-board includes a compatible version of the ui.

apalis-board = { version = "1.0.0-rc.2", features = ["actix"] } #Or axum

Here are the basics of setting up the board:

App::new()
    .service(
        ApiBuilder::new(Scope::new("/api/v1")) // Setup the mount
            .register(notification_store) // Add backends
            .register(email_store)
            .build(), // Build the routes an
    )
    .service(ServeApp::new()) // Serve the frontend

Including Realtime tracing events

let broadcaster = TracingBroadcaster::create();

let tracing_subscriber = TracingSubscriber::new(&broadcaster);
let tracing_layer = tracing_subscriber.layer()
    .with_filter(EnvFilter::builder().parse("debug").unwrap());


tracing_subscriber::registry().with(tracing_layer).init();

/// Then register the broadcaster
App::new()
    .app_data(broadcaster.clone())

If you visit /api/v1/events you will receive the task logs. This is also accessible on the /logs page in the board.

Leptos integration

If you are working on a leptos UI and want to embed the web interface in part of in full, then you can import the web functionality:

apalis-board = { version = "1.0.0-rc.2", features = ["web"] }

Support

Source Crate Support
apalis-cron
apalis-redis ⚠️
apalis-sqlite
apalis-postgres
apalis-mysql
apalis-amqp ⌛⚠️
apalis-rsmq
apalis-pgmq
apalis-file-storage ⌛⚠️

Screenshots

Tasks

Tasks

Single Task

Tasks

Workers

Workers

Queues

Queues

Building the frontend

cd crates/web
trunk build

Examples

  • axum-email-service : Basic example that shows how to send emails via smtp using lettre and axum
  • actix-ntfy-service : Basic example that shows how to publish notifications using ntfy.sh and actix

Acknowledgments

The following repos were referenced in building the frontend

Dependencies

~8–26MB
~263K SLoC