Mediarq.Quartz
1.5.1
dotnet add package Mediarq.Quartz --version 1.5.1
NuGet\Install-Package Mediarq.Quartz -Version 1.5.1
<PackageReference Include="Mediarq.Quartz" Version="1.5.1" />
<PackageVersion Include="Mediarq.Quartz" Version="1.5.1" />
<PackageReference Include="Mediarq.Quartz" />
paket add Mediarq.Quartz --version 1.5.1
#r "nuget: Mediarq.Quartz, 1.5.1"
#:package Mediarq.Quartz@1.5.1
#addin nuget:?package=Mediarq.Quartz&version=1.5.1
#tool nuget:?package=Mediarq.Quartz&version=1.5.1
Mediarq.Quartz
Enqueue or schedule a Mediarq command as a Quartz.NET job — it runs through the real Mediarq dispatch pipeline (behaviors, validation, ...) when the trigger fires.
dotnet add package Mediarq.Quartz
Usage
builder.Services.AddMediarqQuartz();
builder.Services.AddQuartz(); // DI job resolution is the default, no extra configuration needed
builder.Services.AddQuartzHostedService();
public record SendWelcomeEmail(Guid UserId) : ICommand;
// Run as soon as the scheduler picks up the trigger.
await scheduler.EnqueueAsync(new SendWelcomeEmail(userId));
// Run after a delay.
await scheduler.ScheduleAsync(new SendWelcomeEmail(userId), TimeSpan.FromMinutes(10));
// Run at a specific point in time.
await scheduler.ScheduleAsync(new SendWelcomeEmail(userId), DateTimeOffset.UtcNow.AddDays(1));
Only ICommand (the no-result form) is supported — a job scheduled for later has no caller left to
observe a return value.
How it works
The command is JSON-serialized (via System.Text.Json) into the job's JobDataMap alongside its
Type.AssemblyQualifiedName, and reconstructed by the internal job type when the trigger fires. Requires
Quartz's dependency-injection integration (services.AddQuartz(), from
Quartz.Extensions.DependencyInjection) so the job — and everything the command's handler depends on —
resolves scoped services correctly. For a job to survive an app restart, configure a persistent Quartz job
store (e.g. UsePersistentStore(...)) — the in-memory default (like Quartz's own) does not.
Learn more
Wiring extensions · Full README
MIT © Nicolas Rouffart
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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
- Mediarq.Core (>= 1.5.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Quartz (>= 3.19.0)
-
net8.0
- Mediarq.Core (>= 1.5.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Quartz (>= 3.19.0)
-
net9.0
- Mediarq.Core (>= 1.5.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Quartz (>= 3.19.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.