# Utilities.TaskSchedulerEngine **Repository Path**: mirrors_nortal/Utilities.TaskSchedulerEngine ## Basic Information - **Project Name**: Utilities.TaskSchedulerEngine - **Description**: Simple task scheduling tools for .net code - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-25 - **Last Updated**: 2026-05-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Nortal.Utilities.TaskSchedulerEngine ==================================== This assembly provides tools to build a task scheduler engine for triggering prepared tasks at specified time and/or intervals. Tools are provided to support hosting as a windows service. Requirements: * Microsoft .Net Framework 4 Client Profile. Main features ------------- * Can set tasks execution time * Can configure tasks to automatically reschedule itself to run after fixed interval. * Task execution logs * Tools to simplify running as a windows service * tools for graceful engine stopping without interrupting ongoing tasks * option to automatically discover all tasks from host assembly * Example project to help getting started * It is with open source (Apache v2.0 licence) * Available also from Nuget: https://www.nuget.org/packages/Nortal.Utilities.TaskSchedulerEngine Getting started ------------------- * Create a console application project * Reference Nortal.Utilities.TaskSchedulerEngine.dll -or- install nuget package PM> Install-Package Nortal.Utilities.TaskSchedulerEngine * Implement tasks by using ISchedulerTask interface: public class MyTask : ISchedulerTask { public bool IsEnabled { get { return true; } } public DateTime ExecutionTime { get { return DateTime.Now; } } public TimeSpan Interval { get { return TimeSpan.FromSeconds(5); } } public void Run(StringBuilder log) { log.Append("Hello, world!"); } } * run the scheduler engine to start executing the prepared task. // service that contains a single engine which automatically discovers ISchedulerTask implementations var engine = new AllHostTasksSchedulerEngine(); engine.Run(); * All done! Check the example application included with source code for other examples. Extension points ------------------ * Can configure engine ticking interval * Task configuration entirely left up to programmer. You can hardcode values, user xml configuration, database or any other configuration source. * Option to replace the default logging (CSV files) by implementing your own logger using ISchedulerEngineLogger interface.