code: def ack(self):
          
          time_to_ack = math.ceil(time.time() - self._received_timestamp)
          self._request_queue.put(
              requests.AckRequest(
                  ack_id=self._ack_id, byte_size=self.size, time_to_ack=time_to_ack
              )
          )
docs: Acknowledge the given message.
  
          Acknowledging a message in Pub/Sub means that you are done
          with it, and it will not be delivered to this subscription again.
          You should avoid acknowledging messages until you have
          *finished* processing them, so that in the event of a failure,
          you receive the message again.
  
          .. warning::
              Acks in Pub/Sub are best effort. You should always
              ensure that your processing code is idempotent, as you may
              receive any given message more than once.