-
Notifications
You must be signed in to change notification settings - Fork 14
RedisTransport
Brian Lehnen edited this page Feb 25, 2016
·
5 revisions
The redis transport uses LUA scripting to enqueue and dequeue records.
It supports the following
- Message Delay
- Message Expiration
######Configuration
Unlike the SQL server transport, the queues do not need to be created before usage.
######Usage
[Producer]
var queueName = "example";
var connectionString = "192.168.0.212";
using (var queueContainer = new QueueContainer<RedisQueueInit>())
{
using (var queue = queueContainer.CreateProducer<SimpleMessage.SimpleMessage>(queueName, connectionString))
{
queue.Send(new SimpleMessage.SimpleMessage{Message = "hello world"});
}
}
[Consumer]
using (var queueContainer = new QueueContainer<RedisQueueInit>())
{
using (var queue = queueContainer.CreateConsumer(queueName, connectionString))
{
queue.Start<SimpleMessage.SimpleMessage>(HandleMessages);
Console.WriteLine("Processing messages - press any key to stop");
Console.ReadKey((true));
}
}
private void HandleMessages(IReceivedMessage<SimpleMessage> m, IWorkerNotification n)
{
n.Log.Log(DotNetWorkQueue.Logging.LogLevel.Debug, () => $"Processing Message {m.Body.Message}");
}
For any issues please use the GitHub issues