TaskMaster 4.0.42

There is a newer version of this package available.
See the version list below for details.
dotnet add package TaskMaster --version 4.0.42
                    
NuGet\Install-Package TaskMaster -Version 4.0.42
                    
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="TaskMaster" Version="4.0.42" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="TaskMaster" Version="4.0.42" />
                    
Directory.Packages.props
<PackageReference Include="TaskMaster" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add TaskMaster --version 4.0.42
                    
#r "nuget: TaskMaster, 4.0.42"
                    
#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.
#:package TaskMaster@4.0.42
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=TaskMaster&version=4.0.42
                    
Install as a Cake Addin
#tool nuget:?package=TaskMaster&version=4.0.42
                    
Install as a Cake Tool

TaskMaster

.NET Publish

TaskMaster is a lightweight C# library that provides functionality for running tasks based on specific criteria. It simplifies the process of setting up and executing tasks in your application.

Basic Usage

In order to use TaskMaster, you must wire it up first by adding it to your ServiceCollection:

serviceCollection.AddCanisterModules();

Once Canister is configured, you can create a new instance of the TaskMaster service:

var Runner = services.GetService<TaskMaster>();
Runner.Run(args);

The TaskMaster class handles task discovery, prioritization, and execution. It also logs any errors it encounters using Serilog. If Serilog is not registered with Canister, a default empty logger will be used. However, if a logger is specified, events will be logged using the ILogger class.

Creating a Task

Creating a task with TaskMaster is straightforward. Simply inherit from the ITask interface and implement its methods. Here's an example of a basic "Hello World" task:

/// <summary>
/// Basic hello world task
/// </summary>
public class HelloWorldTask : ITask
{
    public IFrequency[] Frequencies => new IFrequency[] { new RunAlways() };

    public string Name => "Hello World";

    public int Priority => 1;

    public bool Execute(DateTime lastRun)
    {
        Console.WriteLine("Hello World");
        return true;
    }

    public bool Initialize(IDataManager dataManager)
    {
        return true;
    }
}

In this example, the task runs every time the Run method of the TaskMaster is called. However, you can specify different frequencies for execution. The task's name is "Hello World," which is used for logging purposes. The priority is set to 1, determining the execution order. Tasks with lower priority values are executed first, and tasks with the same priority may run in parallel.

The Initialize method is called when the task is created and receives an IDataManager instance, which handles saving and retrieving configuration data for the task. By default, the data manager saves configuration data as JSON-serialized strings, but you can implement your own data manager for customization.

The Execute method is where the actual work of the task should be performed.

Installation

TaskMaster is available as a NuGet package. You can install it by running the following command in the Package Manager Console:

Install-Package TaskMaster

Build Process

To build the library, ensure you have the following minimum requirements:

  • Visual Studio 2017

Clone the project repository, and you should be able to load the solution in Visual Studio and build it without any issues.

For any further assistance or information, please refer to the project documentation or reach out to the project contributors.

Enjoy using TaskMaster in your applications!

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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
5.0.5 180 10/12/2025
5.0.4 209 8/19/2025
5.0.3 167 8/4/2025
5.0.2 174 6/27/2025
5.0.1 190 6/27/2025
5.0.0 232 11/24/2024
4.0.187 175 11/15/2024
4.0.186 184 11/14/2024
4.0.185 177 11/13/2024
4.0.184 187 11/12/2024
4.0.183 173 11/11/2024
4.0.182 194 11/7/2024
4.0.181 198 11/6/2024
4.0.180 188 11/5/2024
4.0.179 169 11/4/2024
4.0.178 168 11/1/2024
4.0.177 188 10/31/2024
4.0.176 176 10/29/2024
4.0.175 194 10/29/2024
4.0.174 144 10/15/2024
4.0.173 155 10/14/2024
4.0.172 185 10/11/2024
4.0.171 178 10/10/2024
4.0.170 164 10/8/2024
4.0.169 196 10/2/2024
4.0.168 173 10/1/2024
4.0.167 188 9/30/2024
4.0.166 192 9/24/2024
4.0.165 194 9/17/2024
4.0.164 215 9/10/2024
4.0.163 210 9/3/2024
4.0.162 192 8/30/2024
4.0.161 194 8/28/2024
4.0.160 215 8/27/2024
4.0.159 219 8/26/2024
4.0.158 214 8/23/2024
4.0.157 204 8/22/2024
4.0.156 205 8/21/2024
4.0.155 235 8/20/2024
4.0.154 203 8/16/2024
4.0.153 229 8/15/2024
4.0.152 201 8/6/2024
4.0.151 160 8/5/2024
4.0.150 164 8/2/2024
4.0.149 171 8/1/2024
4.0.148 169 7/26/2024
4.0.147 180 7/25/2024
4.0.146 196 7/12/2024
4.0.145 181 7/11/2024
4.0.144 188 7/2/2024
4.0.143 229 6/28/2024
4.0.142 195 6/27/2024
4.0.141 182 6/26/2024
4.0.140 195 6/24/2024
4.0.139 207 6/20/2024
4.0.138 213 6/19/2024
4.0.137 194 6/18/2024
4.0.136 198 6/17/2024
4.0.135 196 6/14/2024
4.0.134 230 6/13/2024
4.0.133 186 6/3/2024
4.0.132 208 5/31/2024
4.0.131 221 5/30/2024
4.0.130 204 5/20/2024
4.0.129 173 5/17/2024
4.0.128 185 5/16/2024
4.0.127 211 5/9/2024
4.0.126 224 5/8/2024
4.0.125 227 5/7/2024
4.0.124 221 5/6/2024
4.0.123 176 5/3/2024
4.0.122 175 5/2/2024
4.0.121 206 5/1/2024
4.0.120 216 4/30/2024
4.0.119 195 4/29/2024
4.0.118 220 4/16/2024
4.0.117 187 4/15/2024
4.0.116 210 4/12/2024
4.0.115 246 4/11/2024
4.0.114 202 4/2/2024
4.0.113 214 4/1/2024
4.0.112 229 3/29/2024
4.0.111 234 3/19/2024
4.0.110 227 3/18/2024
4.0.109 212 3/15/2024
4.0.108 210 3/14/2024
4.0.107 204 3/12/2024
4.0.106 218 3/11/2024
4.0.105 197 3/8/2024
4.0.104 207 3/7/2024
4.0.103 218 3/6/2024
4.0.102 222 3/5/2024
4.0.101 226 3/4/2024
4.0.100 200 3/1/2024
4.0.99 216 2/29/2024
4.0.98 182 2/28/2024
4.0.97 225 2/27/2024
4.0.96 221 2/26/2024
4.0.95 186 2/23/2024
4.0.94 207 2/22/2024
4.0.93 227 2/21/2024
4.0.92 190 2/20/2024
4.0.91 213 2/19/2024
4.0.90 206 2/16/2024
4.0.89 230 2/15/2024
4.0.88 181 2/13/2024
4.0.87 207 2/12/2024
4.0.86 207 2/9/2024
4.0.85 225 2/8/2024
4.0.84 205 2/7/2024
4.0.83 198 2/6/2024
4.0.82 203 2/5/2024
4.0.81 189 2/2/2024
4.0.80 197 2/1/2024
4.0.79 208 1/31/2024
4.0.78 180 1/30/2024
4.0.77 202 1/26/2024
4.0.76 201 1/25/2024
4.0.75 195 1/24/2024
4.0.74 210 1/23/2024
4.0.73 201 1/22/2024
4.0.72 212 1/15/2024
4.0.71 199 1/12/2024
4.0.70 208 1/11/2024
4.0.69 224 12/26/2023
4.0.68 224 12/22/2023
4.0.67 215 12/20/2023
4.0.66 219 12/18/2023
4.0.65 254 12/15/2023
4.0.64 205 12/14/2023
4.0.63 210 12/13/2023
4.0.62 227 12/12/2023
4.0.61 241 11/27/2023
4.0.60 209 11/24/2023
4.0.59 226 11/22/2023
4.0.58 191 11/21/2023
4.0.57 213 11/20/2023
4.0.56 249 11/17/2023
4.0.55 206 11/16/2023
4.0.54 233 11/14/2023
4.0.53 199 11/14/2023
4.0.52 201 11/13/2023
4.0.51 216 11/10/2023
4.0.50 188 11/9/2023
4.0.49 182 11/8/2023
4.0.48 200 11/7/2023
4.0.47 242 11/6/2023
4.0.46 255 11/3/2023
4.0.45 249 11/2/2023
4.0.44 235 11/1/2023
4.0.43 222 10/31/2023
4.0.42 250 10/30/2023
4.0.41 218 10/27/2023
4.0.40 218 10/26/2023
4.0.39 219 10/13/2023
4.0.38 223 10/12/2023
4.0.37 225 10/5/2023
4.0.36 228 9/26/2023
4.0.35 226 9/21/2023
4.0.34 235 9/20/2023
4.0.33 245 9/19/2023
4.0.32 227 9/18/2023
4.0.31 243 9/15/2023
4.0.30 244 9/14/2023
4.0.29 237 9/13/2023
4.0.28 261 9/12/2023
4.0.27 246 9/11/2023
4.0.26 281 9/8/2023
4.0.25 256 9/7/2023
4.0.24 256 9/6/2023
4.0.23 279 9/5/2023
4.0.22 262 9/4/2023
4.0.21 265 9/1/2023
4.0.20 276 8/31/2023
4.0.19 259 8/30/2023
4.0.18 284 8/29/2023
4.0.17 254 8/28/2023
4.0.16 270 8/25/2023
4.0.15 241 8/24/2023
4.0.14 278 8/23/2023
4.0.13 310 8/21/2023
4.0.12 249 8/18/2023
4.0.11 275 8/17/2023
4.0.10 307 8/10/2023
4.0.9 285 8/9/2023
4.0.8 286 8/8/2023
4.0.7 254 8/8/2023
4.0.6 278 8/7/2023
4.0.5 303 8/3/2023
4.0.4 289 7/27/2023
4.0.3 293 7/26/2023
4.0.2 290 7/20/2023
4.0.1 279 7/17/2023
4.0.0 467 12/12/2022
3.1.3 696 6/10/2022
3.1.0 825 1/21/2022
3.0.15 662 1/11/2022
3.0.14 661 1/10/2022
3.0.13 654 6/21/2021
3.0.12 682 1/6/2021
3.0.11 685 11/23/2020
3.0.9 801 9/13/2020
3.0.8 736 6/8/2020
3.0.7 834 4/1/2020
3.0.6 797 3/25/2020
3.0.5 806 3/3/2020
3.0.4 817 1/29/2020
3.0.3 801 1/19/2020
3.0.2 890 12/31/2019
3.0.1 865 12/29/2019
3.0.0 778 12/23/2019
2.0.6 1,159 9/13/2018
2.0.5 1,258 7/26/2018
2.0.4 1,564 6/1/2018
2.0.3 1,479 6/1/2018
2.0.2 1,582 5/22/2018
2.0.1 1,708 2/5/2018
2.0.0 1,705 1/2/2018
1.0.10 1,412 9/29/2017
1.0.9 1,321 8/28/2017
1.0.8 1,378 8/11/2017
1.0.7 1,404 8/11/2017
1.0.6 1,415 8/11/2017
1.0.5 1,454 8/11/2017
1.0.4 1,395 8/11/2017
1.0.3 1,411 8/11/2017
1.0.2 1,372 8/11/2017