Pilgaard.CronJobs
1.1.1
Prefix Reserved
See the version list below for details.
dotnet add package Pilgaard.CronJobs --version 1.1.1
NuGet\Install-Package Pilgaard.CronJobs -Version 1.1.1
<PackageReference Include="Pilgaard.CronJobs" Version="1.1.1" />
paket add Pilgaard.CronJobs --version 1.1.1
#r "nuget: Pilgaard.CronJobs, 1.1.1"
// Install Pilgaard.CronJobs as a Cake Addin #addin nuget:?package=Pilgaard.CronJobs&version=1.1.1 // Install Pilgaard.CronJobs as a Cake Tool #tool nuget:?package=Pilgaard.CronJobs&version=1.1.1
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
ICronJob
s 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 was computed. 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. |
.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)
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 | 85 | 12/28/2024 |
7.2.8 | 355 | 2/5/2023 |
7.2.5 | 318 | 1/6/2023 |
7.2.3 | 334 | 1/3/2023 |
7.2.2 | 316 | 1/2/2023 |
7.2.1 | 314 | 1/2/2023 |
7.2.0 | 322 | 1/2/2023 |
7.1.0 | 373 | 12/4/2022 |
7.0.4 | 351 | 12/3/2022 |
7.0.2 | 367 | 11/12/2022 |
1.2.0 | 378 | 11/6/2022 |
1.1.8 | 386 | 11/6/2022 |
1.1.6 | 416 | 10/12/2022 |
1.1.5 | 425 | 10/10/2022 |
1.1.4 | 418 | 10/10/2022 |
1.1.3 | 427 | 10/10/2022 |
1.1.2 | 420 | 10/10/2022 |
1.1.1 | 436 | 9/5/2022 |
1.1.0 | 403 | 9/5/2022 |
1.0.7 | 449 | 8/21/2022 |
1.0.6 | 432 | 8/21/2022 |
1.0.5 | 472 | 6/21/2022 |
1.0.4 | 465 | 5/14/2022 |
1.0.2 | 475 | 4/28/2022 |
1.0.1 | 440 | 4/23/2022 |
1.0.0 | 480 | 4/23/2022 |
0.2.9 | 472 | 4/22/2022 |
0.2.8 | 445 | 4/22/2022 |
0.2.7 | 473 | 4/22/2022 |
0.2.5 | 472 | 4/22/2022 |
0.2.4 | 1,474 | 4/22/2022 |
0.1.0 | 627 | 4/21/2022 |
0.0.0-alpha.0.22 | 130 | 4/22/2022 |