AlinSpace.Jobs 1.0.10

Prefix Reserved
dotnet add package AlinSpace.Jobs --version 1.0.10                
NuGet\Install-Package AlinSpace.Jobs -Version 1.0.10                
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="AlinSpace.Jobs" Version="1.0.10" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add AlinSpace.Jobs --version 1.0.10                
#r "nuget: AlinSpace.Jobs, 1.0.10"                
#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 AlinSpace.Jobs as a Cake Addin
#addin nuget:?package=AlinSpace.Jobs&version=1.0.10

// Install AlinSpace.Jobs as a Cake Tool
#tool nuget:?package=AlinSpace.Jobs&version=1.0.10                

AlinSpace.Jobs

NuGet version (AlinSpace.Jobs)

A clean and simple job scheduler.

AlinSpace.Jobs NuGet package

Why?

I needed a clean and simple job scheduler for my purposes.

I tried Quartz.NET, but I don't like some design choices (it was ported from the Java world) and I had issues using it.

Hangfire was not too bad, but I do not like that they have a free and pro version.

Features

  • Triggers:
    • OneShot: Execute the job only once in the future.
    • Recurring: Execute the job multiple times in a fixed interval.
      • Quota: Define the interval using a quota (e.g. 5 times in 5 months).

Maybe Features

  • Persistent jobs: Save the execution details of the jobs persistent.

Packages

  • AlinSpace.Jobs: Main package
  • AlinSpace.Jobs.DryIoc: Job factory for DryIoc.

Examples

// Create the scheduler.
using var scheduler = new Scheduler();

// Start the scheduler.
scheduler.Start();

// Schedules a recurring job (every 5 seconds).
scheduler.ScheduleJob<MyJob>(Trigger.Recurring(TimeSpan.FromSeconds(5));

// Schedules a recurring job using a quota (5 times a year).
scheduler.ScheduleJob<MyJob>(Trigger.Recurring(Quota.Year(5));

// ...

// Stop the scheduler.
scheduler.Stop();

Product 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.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on AlinSpace.Jobs:

Package Downloads
AlinSpace.Jobs.DryIoc

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.10 376 12/31/2022
1.0.9 514 12/31/2022
1.0.6 321 12/16/2022
1.0.5 402 12/9/2022
1.0.3 431 11/27/2022
1.0.2 432 11/26/2022