Rabbitmq outq messages

I have an email service that handles a message and does not return any responses.

The messages are coming into the inq ready to be processed and once processed it goes to the outq, here the number of messages on the outq are forever growing.

My question is for messages with no responses are we expected to manually ack all outq messages? Or have I missed a step?

The .outq is a non durable queue which are not persisted across broker restarts.

You can disable .outq messages from being sent from setting:

var mqServer = new RabbitMqServer(..) {
    DisablePublishingResponses = true
};

can you expand on that point?

Thanks

Sorry I meant MQ broker restarts.

Gotcha Thanks.

The settting the DisablePublishingResponses to true is still generating a .outq entry

    container.Register<IMessageService>(c => new RabbitMqServer("localhost") { DisablePublishingResponses = true });
    var mqServer = container.Resolve<IMessageService>();

    mqServer.RegisterHandler<EmailContact>(m =>
    {
        var request = m.GetBody();

       

        return null;
    }

Apologies DisablePublishingResponses only prevents re-publishing Service Responses into the .inq of the Response DTO.

There was no option for disabling publishing .outq messages since they’re transient but I’ve added a new PublishToOutqWhitelist and DisablePublishingToOutq options for disabling publishing to .outq with:

var mqServer = new RabbitMqServer(..) {
    DisablePublishingToOutq = true
};

This change is available from v5.4.1 that’s now available from MyGet.

Thank you for the quick resolve!