Skip to content

scottyearsley/bunny-net

Repository files navigation

BunnyNet

Motivation

blah, blah, blah

Features

  • Retry policy
    • Queue or inline
  • Error queues
    • Default
    • Custom
  • Connection pooling

Best practices

  • Separate connections for publishers and subscribers
  • Prefetch counts for work and pub sub

Examples

Setup

using BunnyNet;

var bunny = Bunny.Configure(new BunnyConfiguration("localhost", "guest", "guest"));

Create subscriber (fluent)

var subscriber = bunny.Subscriber
    .ForWork()
    .WithExchange("tasks")
    .WithQueue("tasks_work")
    .WithBindings("tasks.daily")
    .Create();

Create subscriber (configuration)

bunny.Subscriber.Create(new SubscriberConfiguration
{
    Queue = new Queue("tasks_work", QueueType.Quorum),
    Exchange = "tasks",
    Topics = new HashSet<string> { "tasks.daily"  }
});

Handle messages

subscriber.Handle<Dictionary<string, string>>(async m =>
{
    await DoWork(m);
    return Result.Ok();
});

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages