mosquito / aio-pika

AMQP 0.9 client designed for asyncio and humans.
https://aio-pika.readthedocs.org/
Apache License 2.0
1.24k stars 189 forks source link

Naming of no_ack parameter is opposite of actual effect #384

Open edmondburnett opened 3 years ago

edmondburnett commented 3 years ago

The no_ack parameter seems like it's named incorrectly and to me signals that when set to True, that means acknowledgements will NOT be done automatically. However the documentation (and actual usage) says this:

no_ack – if True you don’t need to call aio_pika.message.IncomingMessage.ack()

This is the opposite of "no acknowledgement". Maybe it's a language thing but without the docs I wouldn't have read this parameter as meaning "if True = no manual calling of ack is required".

Suggest changing this or aliasing to auto_ack as it is called elsewhere in much of the RMQ ecosystem to avoid any double-negative confusion.

JustinTArthur commented 3 years ago

no_ack (or really, no-ack) is what RabbitMQ and the AMQP spec calls it, unfortunately.

I have no problem if a higher level library like aio-pika uses a clearer name. If we do, we might want to document that it corresponds with the RabbitMQ no-ack flag. Pika changed theirs to auto_ack for what it's worth.