def ack(self): """Acknowledge Message. :return: """ if not self._method: raise AMQPMessageError('Message.ack only available on ' 'incoming messages') self._channel.basic.ack(delivery_tag=self._method['delivery_tag'])
def reject(self, requeue=True): """Reject Message. :param bool requeue: Requeue the message """ if not self._method: raise AMQPMessageError('Message.reject only available on ' 'incoming messages') self._channel.basic.reject(delivery_tag=self._method['delivery_tag'], requeue=requeue)
def nack(self, requeue=True): """Negative Acknowledgement. :param bool requeue: """ if not self._method: raise AMQPMessageError('Message.nack only available on ' 'incoming messages') self._channel.basic.nack(delivery_tag=self._method['delivery_tag'], requeue=requeue)
def _basic_return(self, frame_in): """Handle a Basic Return Frame and treat it as an error. :param specification.Basic.Return frame_in: Amqp frame. :return: """ reply_text = try_utf8_decode(frame_in.reply_text) message = ( "Message not delivered: %s (%s) to queue '%s' from exchange '%s'" % (reply_text, frame_in.reply_code, frame_in.routing_key, frame_in.exchange)) exception = AMQPMessageError(message, reply_code=frame_in.reply_code) self.exceptions.append(exception)
def ack(self): """Acknowledge Message. :raises AMQPInvalidArgument: Invalid Parameters :raises AMQPChannelError: Raises if the channel encountered an error. :raises AMQPConnectionError: Raises if the connection encountered an error. :return: """ if not self._method: raise AMQPMessageError('Message.ack only available on ' 'incoming messages') self._channel.basic.ack(delivery_tag=self._method['delivery_tag'])
def reject(self, requeue=True): """Reject Message. :raises AMQPInvalidArgument: Invalid Parameters :raises AMQPChannelError: Raises if the channel encountered an error. :raises AMQPConnectionError: Raises if the connection encountered an error. :param bool requeue: Requeue the message """ if not self._method: raise AMQPMessageError('Message.reject only available on ' 'incoming messages') self._channel.basic.reject(delivery_tag=self._method['delivery_tag'], requeue=requeue)
def nack(self, requeue=True): """Negative Acknowledgement. :raises AMQPInvalidArgument: Invalid Parameters :raises AMQPChannelError: Raises if the channel encountered an error. :raises AMQPConnectionError: Raises if the connection encountered an error. :param bool requeue: """ if not self._method: raise AMQPMessageError('Message.nack only available on ' 'incoming messages') self._channel.basic.nack(delivery_tag=self._method['delivery_tag'], requeue=requeue)
def _publish_confirm(self, send_buffer): """Confirm that message was published successfully. :param list send_buffer: :rtype: bool """ confirm_uuid = self._channel.rpc.register_request( ['Basic.Ack', 'Basic.Nack']) self._channel.write_frames(send_buffer) result = self._channel.rpc.get_request(confirm_uuid, raw=True) self._channel.check_for_errors() if isinstance(result, pamqp_spec.Basic.Ack): return True elif isinstance(result, pamqp_spec.Basic.Nack): return False else: raise AMQPMessageError('Unexpected Error: %s - %s' % (result, dict(result)))