Sgbj.Cron.CronTimer
1.0.2
dotnet add package Sgbj.Cron.CronTimer --version 1.0.2
NuGet\Install-Package Sgbj.Cron.CronTimer -Version 1.0.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="Sgbj.Cron.CronTimer" Version="1.0.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Sgbj.Cron.CronTimer --version 1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Sgbj.Cron.CronTimer, 1.0.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.
// Install Sgbj.Cron.CronTimer as a Cake Addin #addin nuget:?package=Sgbj.Cron.CronTimer&version=1.0.2 // Install Sgbj.Cron.CronTimer as a Cake Tool #tool nuget:?package=Sgbj.Cron.CronTimer&version=1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Sgbj.Cron.CronTimer
Provides a cron timer similar to System.Threading.PeriodicTimer
that enables waiting asynchronously for timer ticks.
Available on NuGet.
Usage
Normal usage:
// Every minute
using var timer = new CronTimer("* * * * *");
while (await timer.WaitForNextTickAsync())
{
// Do work
}
Example hosted service:
public class CronJob : BackgroundService
{
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
// Every day at 8am local time
using var timer = new CronTimer("0 8 * * *", TimeZoneInfo.Local);
while (await timer.WaitForNextTickAsync(stoppingToken))
{
// Do work
}
}
}
Non-standard cron expression:
// Every 30 seconds
using var timer = new CronTimer(CronExpression.Parse("*/30 * * * * *", CronFormat.IncludeSeconds));
Resources
- Hangfire/Cronos - Library for working with cron expressions.
- Crontab.guru - The cron schedule expression editor.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- Cronos (>= 0.7.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Sgbj.Cron.CronTimer:
Package | Downloads |
---|---|
E.S.BackgroundService
E.S.BackgroundService |
GitHub repositories
This package is not used by any popular GitHub repositories.