Skip to main content
net10.0

Quartz.NET Blazor Server Dashboard; Quartz Scheduling Framework for .NET

Published
Aug 27, 2026
1mo ago
Total Downloads
82.5K
82,489

Install

dotnet add package Quartz.Dashboard --version 4.0.0-alpha.3
ProductVersions
.NET
net10.0

README

Quartz.Dashboard

Quartz.Dashboard is a Blazor dashboard for Quartz.NET that runs inside your ASP.NET Core application and drives the schedulers registered in that same application.

The dashboard is a work in progress and its API surface may change between releases.

Installation

It builds on Quartz.AspNetCore, which this package brings along, so one reference is enough:

dotnet add package Quartz.Dashboard

Usage

WebApplicationBuilder builder = WebApplication.CreateBuilder(args);

builder.AddQuartz();
builder.Services.AddQuartzHttpApi();
builder.Services.AddQuartzDashboard();
builder.AddQuartzHostedService(options => options.WaitForJobsToComplete = true);

WebApplication app = builder.Build();

app.UseAntiforgery();
app.MapQuartzHttpApi();
app.MapQuartzDashboard();

The UI is then at /quartz. MapQuartzDashboard("/ops/quartz") serves it somewhere else — pages, assets and the Blazor circuit all move with it — and AddQuartzDashboard(options => …) takes an authorization policy, which is what a deployment reachable by anyone but you needs.

Execution-history views stay empty until the scheduler records history: add q.UseJobHistoryLogging() and q.UseTriggerHistoryLogging() from Quartz.Plugins.

Trimming

This package is deliberately not trimmable, and does not declare IsTrimmable. Blazor Server is a reflective framework: a component's [Parameter] properties are set by name from the render tree, the router finds page components by type, and grids, event callbacks and the SignalR hub proxy all bind members that nothing statically references. That is the framework's model rather than anything this package could resolve, and the Blazor packages themselves are not marked trimmable either.

An application that publishes trimmed or native AOT therefore does so without the dashboard. Quartz, Quartz.AspNetCore and Quartz.HttpClient are trimmable, so a trimmed service can still be driven remotely over the HTTP API.

Hosting the dashboard itself in another process is not something this package does today: the client it registers reads the schedulers in its own container. A supported remote dashboard is designed in #3387.

Documentation

The full guide covers custom paths and reverse proxies, authorization, integrating into an existing Blazor application, and production hardening:

https://www.quartz-scheduler.net/documentation/quartz-4.x/packages/dashboard.html

Changes from Previous Version

No structural changes between v4.0.0-alpha.2 and v4.0.0-alpha.3.

Adoption Assessment

A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.

This version is marked prerelease. Validate its API and upgrade path before production use.Compatibility metadata lists 1 target framework; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.