diff --git a/coolamqp/attaches/consumer.py b/coolamqp/attaches/consumer.py index 39ec99e2eb02d46cea6cb877dce69ba21c149623..1e24203dc64daf9d50e7966070aa87d6a2c3e953 100644 --- a/coolamqp/attaches/consumer.py +++ b/coolamqp/attaches/consumer.py @@ -7,9 +7,8 @@ import warnings from coolamqp.framing.frames import AMQPBodyFrame, AMQPHeaderFrame from coolamqp.framing.definitions import ChannelOpenOk, BasicConsume, \ BasicConsumeOk, QueueDeclare, QueueDeclareOk, ExchangeDeclare, ExchangeDeclareOk, \ - QueueBind, QueueBindOk, ChannelClose, BasicCancel, BasicDeliver, \ - BasicAck, BasicReject, RESOURCE_LOCKED, BasicCancelOk, BasicQos, HARD_ERRORS, \ - BasicCancel, BasicQosOk + QueueBind, QueueBindOk, ChannelClose, BasicDeliver, BasicCancel, \ + BasicAck, BasicReject, RESOURCE_LOCKED, BasicCancelOk, BasicQos, BasicQosOk from coolamqp.uplink import HeaderOrBodyWatch, MethodWatch from concurrent.futures import Future from coolamqp.objects import Callable @@ -64,6 +63,9 @@ class Consumer(Channeler): fucking_memoryviews=False ): """ + Note that if you specify QoS, it is applied before basic.consume is sent. This will prevent + the broker from hammering you into oblivion with a mountain of messages. + :param queue: Queue object, being consumed from right now. Note that name of anonymous queue might change at any time! :param on_message: callable that will process incoming messages diff --git a/setup.py b/setup.py index 46dd47bdb17273bb2de956dc6045fb39d3ec3ce2..141f331bf0bebc211033870e8f3bb9826ac5c941 100644 --- a/setup.py +++ b/setup.py @@ -25,7 +25,7 @@ setup(name=u'CoolAMQP', long_description=u'''Pure Python AMQP client, but with dynamic class generation and memoryviews FOR THE GODSPEED. Also, handles your reconnects and transactionality THE RIGHT WAY''', - requires=['amqp', 'six', 'monotonic'], + requires=['six', 'monotonic', 'futures'], tests_require=["nose"], test_suite='nose.collector', classifiers=[