Azure WebJobs and RabbitMQ

As I am working on a project that leverages RabbitMQ and Azure WebJobs. I needed to write webjob functions that are triggered by a message on a queue in RabbitMQ.

While searching around, I have not found an extension that integrates with Azure WebJobs in a nice way and that is how WebJobs.Extensions.RabbitMQ was born.

The library exposes 3 attributes.

RabbitQueueTriggerAttribute: this attribute will subscribe to the queue and triggers whenever a message arrives.[RabbitQueueTrigger("queueName")]

RabbitQueueBinderAttribute: this attribute extends RabbitQueueTriggerAttribute to allow for dynamic creation of the queue and bind it to the exchange.[RabbitQueueBinder("exchangeName", "routingKey", "errorExchangeName(optional)","autoDelete=false(optional)","durable=true(optional)","exclusive=false(optional)")]

RabbitMessageAttribute: this attribute allows you to publish a message to an exchange.[RabbitMessage("exchangeName","routingKey","mandatory=false(optional)"]

Hello Sarmad – Thank you very much for creating this extension. I am currently trying to get this extension to work with our RabbitMQ set up. When the job host starts up, it does not seem to detect or find the RabbitMQ handler. I do call userabbitmq on start and I do see from the RabbitMQ management interface my client does create a connection to the queue server. It just seems to fail to register the subscriber. do you have any thoughts on this?