Skip to content

Listening

Setting up a Wolverine listener for an SQS queue is shown below:

cs
var host = await Host.CreateDefaultBuilder()
    .UseWolverine(opts =>
    {
        opts.UseAmazonSqsTransport()

            // Let Wolverine create missing queues as necessary
            .AutoProvision()

            // Optionally purge all queues on application startup. 
            // Warning though, this is potentially slow
            .AutoPurgeOnStartup();

        opts.ListenToSqsQueue("incoming", queue =>
        {
            queue.Configuration.Attributes[QueueAttributeName.DelaySeconds]
                = "5";

            queue.Configuration.Attributes[QueueAttributeName.MessageRetentionPeriod]
                = 4.Days().TotalSeconds.ToString();
        })
            // You can optimize the throughput by running multiple listeners
            // in parallel
            .ListenerCount(5);
    }).StartAsync();

snippet source | anchor

Released under the MIT License.