#mongo-queue-csharp
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 xbuild is installed and on your PATH. For windows make sure MSBuild is installed and on your PATH. Make sure you are in the repository root.
For linux run:
xbuild DominionEnterprises.Mongo/DominionEnterprises.Mongo.csproj
For windows run:
MSBuild 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:
##Tests
Install and start mongodb. For linux make sure xbuild is installed and in your PATH. For windows make sure MSBuild is installed and in your PATH. For both make sure nunit-console is installed and in your PATH. Make sure you are in the repository root.
For linux run:
xbuild DominionEnterprises.Mongo.Tests/DominionEnterprises.Mongo.Tests.csproj
For windows run:
MSBuild DominionEnterprises.Mongo.Tests/DominionEnterprises.Mongo.Tests.csproj
For both run:
nunit-console DominionEnterprises.Mongo.Tests/bin/Debug/DominionEnterprises.Mongo.Tests.dll