Kck.BackgroundJobs.Abstractions
3.4.0
dotnet add package Kck.BackgroundJobs.Abstractions --version 3.4.0
NuGet\Install-Package Kck.BackgroundJobs.Abstractions -Version 3.4.0
<PackageReference Include="Kck.BackgroundJobs.Abstractions" Version="3.4.0" />
<PackageVersion Include="Kck.BackgroundJobs.Abstractions" Version="3.4.0" />
<PackageReference Include="Kck.BackgroundJobs.Abstractions" />
paket add Kck.BackgroundJobs.Abstractions --version 3.4.0
#r "nuget: Kck.BackgroundJobs.Abstractions, 3.4.0"
#:package Kck.BackgroundJobs.Abstractions@3.4.0
#addin nuget:?package=Kck.BackgroundJobs.Abstractions&version=3.4.0
#tool nuget:?package=Kck.BackgroundJobs.Abstractions&version=3.4.0
Kck.BackgroundJobs.Abstractions
Provider-agnostic background job scheduling abstractions — fire-and-forget, recurring, and delayed jobs without coupling to Hangfire or Quartz.
Installation
dotnet add package Kck.BackgroundJobs.Abstractions
Quick Start
// Program.cs — register a concrete provider (e.g. Kck.BackgroundJobs.Hangfire)
builder.Services.AddKckHangfireJobs(builder.Configuration);
// Define a job
public class SendWelcomeEmailJob(IEmailService email) : IJob
{
public async Task ExecuteAsync(JobContext context, CancellationToken ct)
=> await email.SendAsync(new EmailMessage { To = context.GetArg<string>("email") }, ct);
}
// Enqueue from anywhere
public class UserRegistrationHandler(IJobScheduler scheduler)
{
public async Task HandleAsync(string userEmail, CancellationToken ct)
{
// Fire-and-forget
await scheduler.EnqueueAsync<SendWelcomeEmailJob>(
args => args.Set("email", userEmail), ct);
// Recurring (cron)
await scheduler.AddRecurringAsync<SendWelcomeEmailJob>(
"daily-report", "0 8 * * *", ct);
// Delayed
await scheduler.ScheduleAsync<SendWelcomeEmailJob>(
args => args.Set("email", userEmail), TimeSpan.FromMinutes(5), ct);
}
}
Configuration
| Property | Description | Default |
|---|---|---|
BackgroundJobs:Provider |
Hangfire or Quartz |
Hangfire |
BackgroundJobs:ConnectionString |
Storage connection (Hangfire SQL/Redis) | In-memory |
BackgroundJobs:WorkerCount |
Concurrent worker count | 5 |
Resources
| 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
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Kck.BackgroundJobs.Abstractions:
| Package | Downloads |
|---|---|
|
Kck.BackgroundJobs.Hangfire
Hangfire-backed IJobScheduler implementation for the Kck framework. Supports fire-and-forget, recurring (cron), and delayed job scheduling with the Hangfire dashboard. Registered via AddKckJob<TJob>(). |
|
|
Kck.BackgroundJobs.Quartz
Quartz.NET-backed IJobScheduler implementation for the Kck framework. Provides cron-based and one-shot job scheduling with Quartz's persistent job store support. Registered via AddKckJob<TJob>(). |
|
|
Kck.Bundle.WorkerService
Opinionated .NET Worker Service starter pack. Registers Serilog, OpenTelemetry, InMemory event bus, and a mutually-exclusive background job scheduler (Hangfire or Quartz) in a single call. |
GitHub repositories
This package is not used by any popular GitHub repositories.