Scheduling primitives for Koan: orchestration helpers, coordination, and background job utilities.
Total Downloads
762
762
Published
Jun 12, 2026
4mo ago
Get Started
dotnet add package Sylin.Koan.Scheduling --version 0.17.0
| Product | Versions |
|---|---|
| .NET |
README
Sylin.Koan.Scheduling
Lightweight in-process scheduling primitives for Koan apps.
- Target framework: net10.0
- License: Apache-2.0
Capabilities
- In-process scheduler hosted as a BackgroundService.
- Triggers: OnStartup, FixedDelay (cron reserved for Phase 2).
- Per-job policy via options, attribute hints, and task interfaces.
- Bounded concurrency, per-run timeout, health updates via Koan.Core.
Install
dotnet add package Sylin.Koan.Scheduling
Minimal setup
// Program.cs
var builder = WebApplication.CreateBuilder(args);
// Register the scheduler via Koan.Core auto-registrar
// (KoanAutoRegistrar wires SchedulingOptions and the HostedService)
builder.Services.AddControllers();
var app = builder.Build();
app.MapControllers();
app.Run();
appsettings.json
{
"Koan": {
"Scheduling": {
"Enabled": true,
"Jobs": {
"cleanup": {
"OnStartup": true,
"FixedDelay": "00:00:10",
"Timeout": "00:00:05",
"MaxConcurrency": 1
}
}
}
}
}
Authoring tasks
public sealed class CleanupTask : IScheduledTask, IFixedDelay
{
public string Id => "cleanup";
public TimeSpan Delay => TimeSpan.FromSeconds(10);
public Task RunAsync(CancellationToken ct) { /* work */ return Task.CompletedTask; }
}
Hints
- Use
IHasTimeoutfor bounded work;IHasMaxConcurrencyto allow parallel runs. - Mark critical tasks with
IIsCriticalor[Scheduled(Critical = true)]to influence health/runbooks. - Prefer idempotent work; handle cancellations.
References
- Technical reference:
./TECHNICAL.md - Engineering front door:
/docs/engineering/index.md
Downloads by Version
Similar & Alternative Packages
Hand-picked matching NuGet libraries based on tags & ecosystem
Depended On By
Find packages that declare this package as a dependency. NuGet does not provide a reverse-dependency endpoint, so candidates are checked on demand.
Adoption Assessment
Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.
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.