MCPcopy Index your code
hub / github.com/apalis-dev/apalis-board

github.com/apalis-dev/apalis-board @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
219 symbols 297 edges 49 files 38 documented · 17%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

apalis-board

<img alt="apalis-board" src="https://github.com/apalis-dev/apalis-board/raw/main/screenshots/logo.svg" width="180px" />

Crates.io version

Download

docs.rs docs CI

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.7", features = ["actix"] } #Or axum

Here are the basics of setting up the board:

```rust,ignore 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

```rust,ignore
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.7", 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

Extension points exported contracts — how you extend this code

RegisterRoute (Interface)
Trait for registering routes with a backend [2 implementers]
crates/api/src/framework/mod.rs

Core symbols most depended-on inside this repo

get
called by 30
crates/web/src/api.rs
build
called by 8
crates/api/src/framework/mod.rs
send
called by 8
crates/api/src/sse/broadcaster.rs
parse
called by 7
crates/web/src/pages/workers/capability.rs
layer
called by 6
crates/api/src/sse/subscriber.rs
as_str
called by 5
crates/web/src/translate.rs
key
called by 4
crates/web/src/pages/tasks/mod.rs
use_sse_provider
called by 3
crates/web/src/lib.rs

Shape

Function 91
Method 86
Class 31
Enum 10
Interface 1

Languages

Rust100%

Modules by API surface

crates/api/src/framework/axum.rs15 symbols
crates/web/src/pages/workers/capability.rs13 symbols
crates/api/src/framework/actix.rs13 symbols
crates/web/src/components/sidebar.rs12 symbols
crates/web/src/pages/workers/provider.rs10 symbols
crates/web/src/pages/tasks/provider.rs10 symbols
crates/web/src/pages/tasks/mod.rs10 symbols
crates/web/src/components/tailwind.rs10 symbols
crates/web/src/translate.rs9 symbols
crates/web/src/lib.rs9 symbols
crates/api/src/lib.rs9 symbols
crates/types/src/lib.rs8 symbols

For agents

$ claude mcp add apalis-board \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact