Project Description

Cadence.NET is a scheduling framework designed to handle timed, automated processes with ease and simplicity. With a class derived from the CadenceTaskManager, you can:

  • Create multiple tasks, and set them to run synchronously/asynchronously or concurrently/non-concurrently using attributes
  • Create multiple calendars based on hours, days, weeks or months
  • Create custom intervals to offset start time, only run within a certain window of time, run infinitely, or run once
  • Add single or multiple exclusions or overrides to schedule days
  • Get detailed event logging via log4net
  • Pass custom execution contexts to tasks
  • Hook into start, stop, and error events to perform additional event-driven tasks
  • Send event-driven notifications (email, push notification)

Cadence.NET is designed for semantic ease of use and comes with a complete, functioning TaskManager sample.

Syntax is simple and intuitive. Adding an interval:

 

Interval = new Interval()
{
    Schedule = new Time() { Second = 15 },
    RunOptions = Cadence.NET.Interval.IntervalRunOptions.RunInfinite,
    Precision = Cadence.NET.Interval.IntervalPrecision.Exact
};

 

Declare calendars using the optional parameters, or set properties, whichever you prefer:

 

sampleTask.Calendars.Add(new DailyCalendar( Monday: true, Wednesday: true ) { TimezoneUTCOffset = -4 });

 

Cadence.NET manages the complexities of scheduled jobs so you can focus on business logic rather than service setup, threadtime, timing, or debugging.

Last edited Sep 20, 2013 at 3:32 PM by Usualdosage, version 5