def _on_message_requeue(self, message, backoff=True, time_ms=-1, **kwargs): if backoff: self.trigger(event.BACKOFF, conn=self) else: self.trigger(event.CONTINUE, conn=self) self.in_flight -= 1 try: time_ms = self.requeue_delay * message.attempts * 1000 if time_ms < 0 else time_ms self.send(protocol.requeue(message.id, time_ms)) except Exception, e: self.close() self.trigger(event.ERROR, conn=self, error=protocol.SendError( 'failed to send REQ %s @ %d' % (message.id, time_ms), e))