Excalibur.Jobs
3.0.0-alpha.185
See the version list below for details.
dotnet add package Excalibur.Jobs --version 3.0.0-alpha.185
NuGet\Install-Package Excalibur.Jobs -Version 3.0.0-alpha.185
<PackageReference Include="Excalibur.Jobs" Version="3.0.0-alpha.185" />
<PackageVersion Include="Excalibur.Jobs" Version="3.0.0-alpha.185" />
<PackageReference Include="Excalibur.Jobs" />
paket add Excalibur.Jobs --version 3.0.0-alpha.185
#r "nuget: Excalibur.Jobs, 3.0.0-alpha.185"
#:package Excalibur.Jobs@3.0.0-alpha.185
#addin nuget:?package=Excalibur.Jobs&version=3.0.0-alpha.185&prerelease
#tool nuget:?package=Excalibur.Jobs&version=3.0.0-alpha.185&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.Abstractions;
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<HelloWorldJob>(TimeSpan.FromMinutes(1), "hello-job");
},
typeof(Program).Assembly);
var host = builder.Build();
host.Run();
public class HelloWorldJob : IBackgroundJob
{
private readonly ILogger<HelloWorldJob> _logger;
public HelloWorldJob(ILogger<HelloWorldJob> 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<MyJob>(TimeSpan.FromHours(1), "hourly-job");
jobs.AddOneTimeJob<StartupJob>("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.185)
- Excalibur.Dispatch.Abstractions (>= 3.0.0-alpha.185)
- Excalibur.EventSourcing.Abstractions (>= 3.0.0-alpha.185)
- Excalibur.Hosting (>= 3.0.0-alpha.185)
- Excalibur.Hosting.HealthChecks (>= 3.0.0-alpha.185)
- Excalibur.Jobs.Abstractions (>= 3.0.0-alpha.185)
- 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 (>= 3.11.0)
- Microsoft.CodeAnalysis.Common (>= 4.14.0)
- Microsoft.CodeAnalysis.CSharp (>= 4.14.0)
- Microsoft.CodeAnalysis.CSharp.Workspaces (>= 4.14.0)
- Microsoft.CodeAnalysis.Workspaces.Common (>= 4.14.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. |
|
|
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. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.0-alpha.194 | 53 | 5/20/2026 |
| 3.0.0-alpha.193 | 65 | 5/13/2026 |
| 3.0.0-alpha.192 | 67 | 5/13/2026 |
| 3.0.0-alpha.191 | 62 | 5/13/2026 |
| 3.0.0-alpha.189 | 65 | 5/12/2026 |
| 3.0.0-alpha.187 | 70 | 5/8/2026 |
| 3.0.0-alpha.185 | 70 | 5/7/2026 |
| 3.0.0-alpha.183 | 64 | 5/7/2026 |
| 3.0.0-alpha.182 | 63 | 5/6/2026 |
| 3.0.0-alpha.181 | 68 | 5/6/2026 |
| 3.0.0-alpha.179 | 56 | 5/6/2026 |
| 3.0.0-alpha.178 | 63 | 4/25/2026 |
| 3.0.0-alpha.177 | 57 | 4/25/2026 |
| 3.0.0-alpha.176 | 53 | 4/25/2026 |
| 3.0.0-alpha.175 | 52 | 4/24/2026 |
| 3.0.0-alpha.174 | 67 | 4/24/2026 |
| 3.0.0-alpha.173 | 55 | 4/24/2026 |
| 3.0.0-alpha.170 | 60 | 4/23/2026 |
| 3.0.0-alpha.168 | 56 | 4/23/2026 |
| 2.2.14 | 357 | 8/26/2025 |