Apalis board contains a number of crates useful for building UIs and apis for 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.
apalis-board-types: Default types used aroundapalis-board-api: Provides api utilities foraxumandactixapalis-board: Provides the UI interface written inleptos
Each version of apalis-board-api includes a compatible version of the ui so you only need to include one dep.
apalis-board-api = { version = "1.0.0-beta.1", features = ["actix"] } #Or axumHere 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 frontendlet 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.
cd crates/board
trunk build- axum-email-service : Basic example that shows how to send emails via smtp using
lettreandaxum - actix-ntfy-service : Basic example that shows how to publish notifications using
ntfy.shandactix
The following repos were referenced in building the frontend