Pilgaard.CronJobs
1.0.1
Prefix Reserved
See the version list below for details.
dotnet add package Pilgaard.CronJobs --version 1.0.1
NuGet\Install-Package Pilgaard.CronJobs -Version 1.0.1
<PackageReference Include="Pilgaard.CronJobs" Version="1.0.1" />
paket add Pilgaard.CronJobs --version 1.0.1
#r "nuget: Pilgaard.CronJobs, 1.0.1"
// Install Pilgaard.CronJobs as a Cake Addin #addin nuget:?package=Pilgaard.CronJobs&version=1.0.1 // Install Pilgaard.CronJobs as a Cake Tool #tool nuget:?package=Pilgaard.CronJobs&version=1.0.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 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.CronFormat = CronFormat.IncludeSeconds;
options.TimeZoneInfo = TimeZoneInfo.Utc;
}, typeof(Program));
Roadmap
- More readable assembly scanning implementation
- Summaries for all the things
- Actual 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 |
---|---|---|
7.2.8 | 342 | 2/5/2023 |
7.2.5 | 309 | 1/6/2023 |
7.2.3 | 327 | 1/3/2023 |
7.2.2 | 311 | 1/2/2023 |
7.2.1 | 307 | 1/2/2023 |
7.2.0 | 315 | 1/2/2023 |
7.1.0 | 366 | 12/4/2022 |
7.0.4 | 342 | 12/3/2022 |
7.0.2 | 356 | 11/12/2022 |
1.2.0 | 371 | 11/6/2022 |
1.1.8 | 379 | 11/6/2022 |
1.1.6 | 409 | 10/12/2022 |
1.1.5 | 417 | 10/10/2022 |
1.1.4 | 409 | 10/10/2022 |
1.1.3 | 418 | 10/10/2022 |
1.1.2 | 413 | 10/10/2022 |
1.1.1 | 429 | 9/5/2022 |
1.1.0 | 396 | 9/5/2022 |
1.0.7 | 440 | 8/21/2022 |
1.0.6 | 425 | 8/21/2022 |
1.0.5 | 465 | 6/21/2022 |
1.0.4 | 458 | 5/14/2022 |
1.0.2 | 466 | 4/28/2022 |
1.0.1 | 431 | 4/23/2022 |
1.0.0 | 473 | 4/23/2022 |
0.2.9 | 465 | 4/22/2022 |
0.2.8 | 438 | 4/22/2022 |
0.2.7 | 466 | 4/22/2022 |
0.2.5 | 465 | 4/22/2022 |
0.2.4 | 1,464 | 4/22/2022 |
0.1.0 | 620 | 4/21/2022 |
0.0.0-alpha.0.22 | 125 | 4/22/2022 |