Excalibur.Jobs
3.0.0-alpha.203
See the version list below for details.
dotnet add package Excalibur.Jobs --version 3.0.0-alpha.203
NuGet\Install-Package Excalibur.Jobs -Version 3.0.0-alpha.203
paket add Excalibur.Jobs --version 3.0.0-alpha.203
#r "nuget: Excalibur.Jobs, 3.0.0-alpha.203"
#:package Excalibur.Jobs@3.0.0-alpha.203
#addin nuget:?package=Excalibur.Jobs&version=3.0.0-alpha.203&prerelease
#tool nuget:?package=Excalibur.Jobs&version=3.0.0-alpha.203&prerelease
Excalibur.Jobs
Job scheduling and execution for the Excalibur framework using Quartz.NET.
Quick Start
Get started in 5 minutes with the unified AddExcaliburJobHost API.
1. Create a new project
dotnet new worker -n MyJobWorker
cd MyJobWorker
dotnet add package Excalibur.Jobs
2. Add minimal Program.cs
using Excalibur.Jobs;
using Excalibur.Jobs.Quartz;
var builder = Host.CreateApplicationBuilder(args);
// Single call sets up everything: base services, Quartz scheduling, health checks
builder.Services.AddExcaliburJobHost(
configureJobs: jobs =>
{
jobs.AddRecurringJob(TimeSpan.FromMinutes(1), "hello-job");
},
typeof(Program).Assembly);
var host = builder.Build();
host.Run();
public class HelloWorldJob : IBackgroundJob
{
private readonly ILogger _logger;
public HelloWorldJob(ILogger logger) => _logger = logger;
public Task ExecuteAsync(CancellationToken cancellationToken = default)
{
_logger.LogInformation("Hello from Excalibur Job at {Time}", DateTimeOffset.Now);
return Task.CompletedTask;
}
}
3. Run
dotnet run
See examples/MinimalJobSample for the complete working sample.
Features
- Unified registration: Single
AddExcaliburJobHost()call configures all services - Quartz.NET integration: Full scheduling with cron expressions, triggers, and persistence
- Fluent job API:
AddRecurringJob,AddOneTimeJob,AddJobIffor conditional jobs - Health checks: Built-in monitoring for job execution
- Dependency injection: Jobs resolve services from the DI container
Advanced Configuration
builder.Services.AddExcaliburJobHost(
configureQuartz: q =>
{
// Configure persistence, clustering, thread pools
q.UsePersistentStore(store => { /* ... */ });
q.UseDefaultThreadPool(tp => tp.MaxConcurrency = 10);
},
configureJobs: jobs =>
{
jobs.AddRecurringJob(TimeSpan.FromHours(1), "hourly-job");
jobs.AddOneTimeJob("startup-init");
},
typeof(Program).Assembly);
Installation
dotnet add package Excalibur.Jobs
License
This project is multi-licensed under:
See LICENSE for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- AspNetCore.HealthChecks.System (>= 9.0.0)
- AspNetCore.HealthChecks.UI (>= 9.0.0)
- AspNetCore.HealthChecks.UI.Client (>= 9.0.0)
- AspNetCore.HealthChecks.Uris (>= 9.0.0)
- Ben.Demystifier (>= 0.4.1)
- BenchmarkDotNet (>= 0.15.8)
- CloudNative.CloudEvents (>= 2.8.0)
- CloudNative.CloudEvents.SystemTextJson (>= 2.8.0)
- Cronos (>= 0.12.0)
- Dapper (>= 2.1.72)
- Excalibur.Data (>= 3.0.0-alpha.203)
- Excalibur.Dispatch.Abstractions (>= 3.0.0-alpha.203)
- Excalibur.EventSourcing.Abstractions (>= 3.0.0-alpha.203)
- Excalibur.Hosting (>= 3.0.0-alpha.203)
- Excalibur.Hosting.HealthChecks (>= 3.0.0-alpha.203)
- Excalibur.Jobs.Abstractions (>= 3.0.0-alpha.203)
- FluentValidation (>= 12.1.1)
- FluentValidation.DependencyInjectionExtensions (>= 12.1.1)
- IdentityModel (>= 7.0.0)
- JsonNet.ContractResolvers (>= 2.0.0)
- KubernetesClient (>= 19.0.2)
- Medo.Uuid7 (>= 3.2.0)
- MemoryPack (>= 1.21.4)
- Microsoft.ApplicationInsights (>= 3.1.0)
- Microsoft.CodeAnalysis.Analyzers (>= 5.3.0)
- Microsoft.CodeAnalysis.Common (>= 5.3.0)
- Microsoft.CodeAnalysis.CSharp (>= 5.3.0)
- Microsoft.CodeAnalysis.CSharp.Workspaces (>= 5.3.0)
- Microsoft.CodeAnalysis.Workspaces.Common (>= 5.3.0)
- Microsoft.EntityFrameworkCore (>= 10.0.7)
- Microsoft.IdentityModel.Tokens (>= 8.17.0)
- OpenTelemetry (>= 1.15.3)
- OpenTelemetry.Api (>= 1.15.3)
- OpenTelemetry.Exporter.Prometheus.AspNetCore (>= 1.13.0-beta.1)
- OpenTelemetry.Extensions.Hosting (>= 1.15.3)
- Polly (>= 8.6.6)
- Quartz (>= 3.18.0)
- Quartz.Extensions.DependencyInjection (>= 3.18.0)
- Quartz.Extensions.Hosting (>= 3.18.0)
- Quartz.Plugins (>= 3.18.0)
- Quartz.Serialization.SystemTextJson (>= 3.18.0)
- System.IdentityModel.Tokens.Jwt (>= 8.17.0)
- YamlDotNet (>= 17.0.1)
NuGet packages (8)
Showing the top 5 NuGet packages that depend on Excalibur.Jobs:
| Package | Downloads |
|---|---|
|
Excalibur.Hosting.Jobs
Job hosting infrastructure for Excalibur applications with .NET Worker Service and Web hosting support. PRE-RELEASE: the public API is not frozen and may change between pre-release builds. Not recommended for production use. Known issues: https://docs.excalibur-dispatch.dev/docs/known-issues |
|
|
Excalibur.Jobs.Quartz.Outbox
A project within Excalibur to define the classes and methods related to the Outbox Job. |
|
|
Excalibur.Jobs.Quartz.DataProcessing
A project within Excalibur to define the classes and methods related to the Data Processing Job. |
|
|
Excalibur.Jobs.Quartz.Cdc
A project within Excalibur to define the classes and methods related to the CDC Job. |
|
|
Excalibur.Jobs.SqlServer
SQL Server implementation of distributed job coordination for the Excalibur framework. Uses Dapper for data access with distributed locking, instance registry, and job distribution. PRE-RELEASE: the public API is not frozen and may change between pre-release builds. Not recommended for production use. Known issues: https://docs.excalibur-dispatch.dev/docs/known-issues |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.0-alpha.14 | 65 | 10/2/2026 |
| 10.0.0-alpha.13 | 64 | 9/29/2026 |
| 10.0.0-alpha.12 | 71 | 9/25/2026 |
| 10.0.0-alpha.11 | 84 | 9/15/2026 |
| 10.0.0-alpha.10 | 92 | 9/6/2026 |
| 10.0.0-alpha.9 | 89 | 8/31/2026 |
| 10.0.0-alpha.8 | 103 | 8/14/2026 |
| 10.0.0-alpha.7 | 104 | 8/13/2026 |
| 10.0.0-alpha.6 | 113 | 8/11/2026 |
| 10.0.0-alpha.5 | 98 | 8/10/2026 |
| 10.0.0-alpha.4 | 91 | 8/10/2026 |
| 3.0.0-alpha.216 | 102 | 6/30/2026 |
| 3.0.0-alpha.215 | 99 | 6/23/2026 |
| 3.0.0-alpha.214 | 106 | 6/23/2026 |
| 3.0.0-alpha.208 | 90 | 6/11/2026 |
| 3.0.0-alpha.207 | 102 | 6/11/2026 |
| 3.0.0-alpha.205 | 97 | 6/10/2026 |
| 3.0.0-alpha.204 | 99 | 6/8/2026 |
| 3.0.0-alpha.203 | 106 | 6/8/2026 |
| 2.2.14 | 416 | 8/26/2025 |