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" />
paket add Pilgaard.CronJobs --version 1.2.0
#r "nuget: Pilgaard.CronJobs, 1.2.0"
// Install Pilgaard.CronJobs as a Cake Addin #addin nuget:?package=Pilgaard.CronJobs&version=1.2.0 // Install Pilgaard.CronJobs as a Cake Tool #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
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 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. |
.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 |
---|---|---|
7.2.8 | 340 | 2/5/2023 |
7.2.5 | 307 | 1/6/2023 |
7.2.3 | 325 | 1/3/2023 |
7.2.2 | 309 | 1/2/2023 |
7.2.1 | 305 | 1/2/2023 |
7.2.0 | 313 | 1/2/2023 |
7.1.0 | 364 | 12/4/2022 |
7.0.4 | 338 | 12/3/2022 |
7.0.2 | 354 | 11/12/2022 |
1.2.0 | 369 | 11/6/2022 |
1.1.8 | 377 | 11/6/2022 |
1.1.6 | 405 | 10/12/2022 |
1.1.5 | 415 | 10/10/2022 |
1.1.4 | 407 | 10/10/2022 |
1.1.3 | 416 | 10/10/2022 |
1.1.2 | 411 | 10/10/2022 |
1.1.1 | 427 | 9/5/2022 |
1.1.0 | 394 | 9/5/2022 |
1.0.7 | 438 | 8/21/2022 |
1.0.6 | 421 | 8/21/2022 |
1.0.5 | 463 | 6/21/2022 |
1.0.4 | 456 | 5/14/2022 |
1.0.2 | 464 | 4/28/2022 |
1.0.1 | 429 | 4/23/2022 |
1.0.0 | 471 | 4/23/2022 |
0.2.9 | 463 | 4/22/2022 |
0.2.8 | 436 | 4/22/2022 |
0.2.7 | 464 | 4/22/2022 |
0.2.5 | 463 | 4/22/2022 |
0.2.4 | 1,462 | 4/22/2022 |
0.1.0 | 618 | 4/21/2022 |
0.0.0-alpha.0.22 | 123 | 4/22/2022 |