DispatchSharp 0.1.11

There is a newer version of this package available.
See the version list below for details.
Install-Package DispatchSharp -Version 0.1.11
dotnet add package DispatchSharp --version 0.1.11
<PackageReference Include="DispatchSharp" Version="0.1.11" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DispatchSharp --version 0.1.11
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: DispatchSharp, 0.1.11"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install DispatchSharp as a Cake Addin
#addin nuget:?package=DispatchSharp&version=0.1.11

// Install DispatchSharp as a Cake Tool
#tool nuget:?package=DispatchSharp&version=0.1.11
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

DispatchSharp

https://www.nuget.org/packages/DispatchSharp/

A library to make multi-threaded dispatch code more testable.

Models a job dispatch pattern and provides both threaded and non threaded implementations.

Getting Started

Doing a batch of work:

void DoBatch(IEnumerable<object> workToDo) {
	var dispatcher = Dispatch<object>.CreateDefaultMultithreaded("MyTask");

	dispatcher.AddConsumer(MyWorkMethod);
	dispatcher.Start();
	dispatcher.AddWork(workToDo);
	dispatcher.WaitForEmptyQueueAndStop();	// only call this if you're not filling the queue from elsewhere
}

Handling long running incoming jobs:

dispatcher = Dispatch<object>.CreateDefaultMultithreaded("MyService");
dispatcher.AddConsumer(MyWorkMethod);
dispatcher.Start();
.
.
.
dispatcher.AddWork(...);

Using a polling method to handle incoming jobs in a long-running process:

var dispatcher = Dispatch<object>.PollAndProces("MyService", myPollingSource);
dispatcher.AddConsumer(MyWorkMethod);
dispatcher.Start();

with a method defined like

void MyWorkMethod(object obj)
{
	. . .
}

This package has no dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on DispatchSharp:

Package Downloads
SevenDigital.Messaging

A distributed contracts-based sender/handler messaging system built on RabbitMQ and BearBones-Messaging

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0 1,382 8/10/2018
0.1.11 1,474 12/6/2013
0.1.10 852 8/19/2013
0.1.9 798 7/18/2013
0.1.8 804 7/9/2013
0.1.7 826 6/19/2013
0.1.6 844 6/17/2013
0.1.5 823 6/10/2013
0.1.4 790 6/6/2013
0.1.3 796 6/6/2013
0.1.2 811 6/4/2013
0.1.1 795 6/4/2013
0.1.0 848 5/31/2013
0.0.1 880 5/21/2013

Better stability around start and stop.