Koskamo

Manual consumer acknowledgements and prefetch

Document v1 · published by Koskamo editorial · updated 2026-10-04

Original source

In manual acknowledgement mode the consumer explicitly confirms each delivery: basic.ack for positive acknowledgements, and basic.nack or basic.reject for negative ones — basic.nack is a RabbitMQ extension to AMQP 0-9-1, while basic.reject cannot reject multiple deliveries at once. Deliveries are identified by a delivery tag scoped to the channel, so acknowledging on a different channel fails with an unknown delivery tag protocol error. Setting the multiple field to true acknowledges every delivery tag up to and including the given one, batching acknowledgements to reduce network traffic. Automatic acknowledgement mode treats a message as delivered once it is sent — fire-and-forget — and should be considered unsafe; it can also overload consumers. Manual mode is typically paired with a bounded channel prefetch set via basic.qos, which caps the number of unacknowledged deliveries on a channel; a value of 0 means no limit, and quorum queues cap consumer prefetch at 2,000. Negative acknowledgements with requeue set to true return deliveries to the queue, but requeue/redelivery loops are costly, so limit redeliveries or reject messages for good — discarding or dead-lettering them. Scope: RabbitMQ. Reviewed October 4, 2026.

Source and provenance

Original source
www.rabbitmq.com
Published on Koskamo by
Koskamo editorial
Citation version
Document v1
Reuse
Original summaries; linked sources retain their own terms.

The original source supplies the underlying information. Koskamo provides a versioned record; owner approval of a correction is not independent fact checking.