Pilgaard.CronJobs
1.2.0
Prefix Reserved
See the version list below for details.
dotnet add package Pilgaard.CronJobs --version 1.2.0
NuGet\Install-Package Pilgaard.CronJobs -Version 1.2.0
<PackageReference Include="Pilgaard.CronJobs" Version="1.2.0" />
<PackageVersion Include="Pilgaard.CronJobs" Version="1.2.0" />
<PackageReference Include="Pilgaard.CronJobs" />
paket add Pilgaard.CronJobs --version 1.2.0
#r "nuget: Pilgaard.CronJobs, 1.2.0"
#:package Pilgaard.CronJobs@1.2.0
#addin nuget:?package=Pilgaard.CronJobs&version=1.2.0
#tool nuget:?package=Pilgaard.CronJobs&version=1.2.0
Pilgaard.CronJobs
Easily schedule jobs to run at specific times, based on Cron expressions.
Installing
With NuGet:
Install-Package Pilgaard.CronJobs
With the .NET CLI:
dotnet add package Pilgaard.CronJobs
Or through Package Manager Console.
Usage
Make CronJobs by implementing ICronJob:
public class CronJob : ICronJob
{
public Task ExecuteAsync(CancellationToken cancellationToken = default)
{
// Execute job
return Task.CompletedTask;
}
// This will execute once every minute
public CronExpression CronSchedule => CronExpression.Parse("* * * * *");
}
Registration
Register all CronJobs with an IServiceCollection instance:
services.AddCronJobs(typeof(Program));
This will scan the assembly of Program for all classes that implement ICronJob, and add them to the container.
Each ICronJob found is then hosted in a CronBackgroundService.
Configuration
The following options are available for customizing ICronJob behaviour:
services.AddCronJobs(options =>
{
options.ServiceLifetime = ServiceLifetime.Singleton;
options.TimeZoneInfo = TimeZoneInfo.Utc;
}, typeof(Program));
Roadmap
More readable assembly scanning implementationSummaries for all the thingsActual tests- More (realistic) samples
- Using Blazor
- Using a Worker Service
- Registering
ICronJobs from an external assembly, such as a class library
Thanks to
The developers of Cronos for their excellent Cron expression library.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. 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. net9.0 was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Cronos (>= 0.7.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 3.1.18)
- Microsoft.Extensions.Hosting.Abstractions (>= 3.1.18)
- Microsoft.Extensions.Logging.Abstractions (>= 3.1.18)
-
net6.0
- Cronos (>= 0.7.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 6.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 6.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 8.0.1 | 201 | 12/28/2024 |
| 7.2.8 | 469 | 2/5/2023 |
| 7.2.5 | 411 | 1/6/2023 |
| 7.2.3 | 425 | 1/3/2023 |
| 7.2.2 | 406 | 1/2/2023 |
| 7.2.1 | 421 | 1/2/2023 |
| 7.2.0 | 421 | 1/2/2023 |
| 7.1.0 | 460 | 12/4/2022 |
| 7.0.4 | 446 | 12/3/2022 |
| 7.0.2 | 464 | 11/12/2022 |
| 1.2.0 | 468 | 11/6/2022 |
| 1.1.8 | 499 | 11/6/2022 |
| 1.1.6 | 497 | 10/12/2022 |
| 1.1.5 | 536 | 10/10/2022 |
| 1.1.4 | 511 | 10/10/2022 |
| 1.1.3 | 547 | 10/10/2022 |
| 1.1.2 | 538 | 10/10/2022 |
| 1.1.1 | 552 | 9/5/2022 |
| 1.1.0 | 502 | 9/5/2022 |
| 1.0.7 | 550 | 8/21/2022 |
| 1.0.6 | 559 | 8/21/2022 |
| 1.0.5 | 581 | 6/21/2022 |
| 1.0.4 | 583 | 5/14/2022 |
| 1.0.2 | 589 | 4/28/2022 |
| 1.0.1 | 566 | 4/23/2022 |
| 1.0.0 | 614 | 4/23/2022 |
| 0.2.9 | 592 | 4/22/2022 |
| 0.2.8 | 556 | 4/22/2022 |
| 0.2.7 | 608 | 4/22/2022 |
| 0.2.5 | 602 | 4/22/2022 |
| 0.2.4 | 1,604 | 4/22/2022 |
| 0.1.0 | 728 | 4/21/2022 |
| 0.0.0-alpha.0.22 | 222 | 4/22/2022 |