Skip to content

leoxialtd/Leoxia.Scheduling

Repository files navigation

Leoxia Scheduling

Build Status

OS Compiler Status Coverage
Ubuntu MsBuild Build Status Coverage

Packages

Name Support Feeds
Leoxia.Scheduling .NET Core NuGet version

Purpose

This library is needed because there is no alternative that provides the following features:

  • Built with testability in mind (all classes and schedule of jobs is testable by design)
  • No static holder (Hangfire and Quartz.Net uses static which hinders testability)
  • ASP.NET Core and Dependency Injection compatible.
  • Fluent features in mind
  • Extendability in mind.
  • Scheduling focused (no events or other unrelated features)
  • Ability to trigger job manually
  • Ability to retrieve all registered jobs, running jobs and job history
  • Ensure that jobs schedule is honored even if timer is late (for any reason)

Features

  • Testability: timer, time, jobs are mockable to be able to test the scheduling engine
  • Dependency injection based.
  • Parameters support.
  • Fast time provider (only 1 second granularity by default).
  • Configurable Timer increment (can have a more precise time and timer raised more often)
  • Fluent job configuration builder (easy to extend).
  • Can trigger a scheduled job
  • Can wait for engine start
  • Job retrieval
  • Can attach a successor task
  • Custom job resolver
  • Cron schedule
  • Max times of schedule
  • Task scheduling
  • Prevent overlap
  • Job run history
  • Error handling

About

Scheduling Library

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •