/mongo-queue-csharp

C# message queue using MongoDB as a backend

Primary LanguageC#MIT LicenseMIT

#mongo-queue-csharp Build Status

C# message queue using MongoDB as a backend. Adheres to the 1.0.0 specification.

##Features

  • Message selection and/or count via MongoDB query
  • Distributes across machines via MongoDB
  • Multi language support through the specification
  • Message priority
  • Delayed messages
  • Running message timeout and redeliver
  • Atomic acknowledge and send together
  • Easy index creation based only on payload

##Simplest use

using System;
using MongoDB.Bson;
using MongoDB.Driver;
using DominionEnterprises.Mongo;

var queue = new Queue("mongodb://localhost", "queues", "queue");
queue.Send(new BsonDocument());
var message = queue.Get(new QueryDocument(), TimeSpan.FromMinutes(1));
queue.Ack(message);

##Build

For linux make sure Mono which comes with xbuild is installed. For windows make sure .NET SDK which comes with MSBuild is installed. Make sure you are in the repository root.

For linux run:

xbuild DominionEnterprises.Mongo/DominionEnterprises.Mongo.csproj

For windows run:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe DominionEnterprises.Mongo\DominionEnterprises.Mongo.csproj

and use the resulting DominionEnterprises.Mongo/bin/Debug/DominionEnterprises.Mongo.dll as a reference in your project.

##Documentation

Found in the source itself, take a look!

##Contact

Developers may be contacted at:

##Project build

Install and start mongodb. For linux make sure Mono which comes with xbuild is installed. For windows make sure .NET SDK which comes with MSBuild is installed. For both make sure nunit-console is installed. Make sure you are in the repository root.

For linux run:

sh build.sh

For windows run:

build.bat