Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/easynetq/easynetq.scheduler

EasyNetQ implementation for scheduling messages using external persistence
https://github.com/easynetq/easynetq.scheduler

Last synced: about 2 months ago
JSON representation

EasyNetQ implementation for scheduling messages using external persistence

Awesome Lists containing this project

README

        

[![Stories in Ready](https://badge.waffle.io/easynetq/easynetq.svg?label=Ready&title=Ready)](http://waffle.io/easynetq/easynetq)
[![Stories in Progress](https://badge.waffle.io/easynetq/easynetq.svg?label=In%20Progress&title=In%20Progress)](http://waffle.io/easynetq/easynetq)

[![Build status](https://ci.appveyor.com/api/projects/status/github/EasyNetQ/easynetq?svg=true)](https://ci.appveyor.com/project/EasyNetQ/easynetq)

[![NuGet Status](https://img.shields.io/nuget/v/EasyNetQ)](https://www.nuget.org/packages/EasyNetQ)
[![Nuget Status](https://img.shields.io/nuget/vpre/EasyNetQ)](https://www.nuget.org/packages/EasyNetQ)
[![Nuget Status](https://img.shields.io/nuget/dt/EasyNetQ)](https://www.nuget.org/packages/EasyNetQ)

![Activity](https://img.shields.io/github/commit-activity/w/EasyNetQ/easynetq)
![Activity](https://img.shields.io/github/commit-activity/m/EasyNetQ/easynetq)
![Activity](https://img.shields.io/github/commit-activity/y/EasyNetQ/easynetq)

![Size](https://img.shields.io/github/repo-size/graphql-dotnet/graphql-dotnet)
--

![EasyNetQ Logo](https://github.com/EasyNetQ/EasyNetQ/wiki/images/logo_design_150.png)

A Nice .NET API for RabbitMQ

Initial development was sponsored by travel industry experts [15below](http://15below.com/)

* **[Homepage](http://easynetq.com)**
* **[Documentation](https://github.com/EasyNetQ/EasyNetQ/wiki/Introduction)**
* **[NuGet](http://www.nuget.org/packages/EasyNetQ)**
* **[Discussion Group](https://groups.google.com/group/easynetq)**

Goals:

1. To make working with RabbitMQ on .NET as easy as possible.

To connect to a RabbitMQ broker...

var bus = RabbitHutch.CreateBus("host=localhost");

To publish a message...

bus.Publish(message);

To subscribe to a message...

bus.Subscribe("my_subscription_id", msg => Console.WriteLine(msg.Text));

Remote procedure call...

var request = new TestRequestMessage {Text = "Hello from the client! "};
bus.Request(request, response =>
Console.WriteLine("Got response: '{0}'", response.Text));

RPC server...

bus.Respond(request =>
new TestResponseMessage{ Text = request.Text + " all done!" });

## Management API

EasyNetQ also has a client-side library for the RabbitMQ Management HTTP API. This lets you control all aspects for your
RabbitMQ broker from .NET code, including creating virtual hosts and users; setting permissions; monitoring queues,
connections and channels; and setting up exchanges, queues and bindings.

See the **[documentation](https://github.com/EasyNetQ/EasyNetQ/wiki/Management-API-Introduction)**.

The announcement blog post is [here](http://mikehadlow.blogspot.co.uk/2012/11/a-c-net-client-proxy-for-rabbitmq.html)

## Some blog posts about EasyNetQ ...

http://mikehadlow.blogspot.co.uk/search/label/EasyNetQ

## Getting started

Just open EasyNetQ.sln in VisualStudio 2017 and build.

All the required dependencies for the solution file to build the software are included. To run the explicit tests that send messages you will have to be running the EasyNetQ.Tests.SimpleService application and have a working local RabbitMQ server (see http://www.rabbitmq.com/ for more details).