Koan.Scheduling
0.5.2
dotnet add package Koan.Scheduling --version 0.5.2
NuGet\Install-Package Koan.Scheduling -Version 0.5.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Koan.Scheduling" Version="0.5.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Koan.Scheduling" Version="0.5.2" />
<PackageReference Include="Koan.Scheduling" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Koan.Scheduling --version 0.5.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Koan.Scheduling, 0.5.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Koan.Scheduling@0.5.2
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Koan.Scheduling&version=0.5.2
#tool nuget:?package=Koan.Scheduling&version=0.5.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Sylin.Koan.Scheduling
Lightweight in-process scheduling primitives for Koan apps.
- Target framework: net9.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
IHasTimeout
for bounded work;IHasMaxConcurrency
to allow parallel runs. - Mark critical tasks with
IIsCritical
or[Scheduled(Critical = true)]
to influence health/runbooks. - Prefer idempotent work; handle cancellations.
References
- Technical reference:
./TECHNICAL.md
- Engineering front door:
/docs/engineering/index.md
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | 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 was computed. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net9.0
- Koan.Core (>= 0.5.2)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Koan.Scheduling:
Package | Downloads |
---|---|
Koan.Web
ASP.NET Core integration for Koan: controller-first routing, health endpoints, well-known endpoints, and observability bootstrap. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
0.5.2 | 151 | 9/16/2025 |
See release notes: https://github.com/sylin-labs/Koan-framework/releases