kombu icon indicating copy to clipboard operation
kombu copied to clipboard

Queues that are exclusive should not imply they are also auto-deleted

Open danpoland opened this issue 6 years ago • 1 comments

Queues that are exclusive should not imply they are also auto-deleted: https://github.com/celery/kombu/blob/master/kombu/entity.py#L582

The AMQP specification does not make the assumption that exclusive queues are also auto-deleted.

Section 2.1.4.1

exclusive - if set, the queue belongs to the current connection only, and is deleted when the connection closes.

Section 3.1.4

Message queues may be durable, temporary, or auto-deleted. Durable message queues last until they are deleted. Temporary message queues last until the server shuts-down. Auto-deleted message queues last until they are no longer used.

Per the AMQP specification a queue's exclusiveness only pertains to the connection. Auto-deleted deals with consumers and deletes a queue when the queue has had at least one consumer and the last consumer unsubscribes.

Also see RabbitMQ's AMQP explanation of queues: https://www.rabbitmq.com/tutorials/amqp-concepts.html. Note that it is possible to create exclusive non-auto-deleted queues in RabbitMQ.

danpoland avatar May 08 '18 17:05 danpoland

PR incoming.

danpoland avatar May 08 '18 17:05 danpoland