code: def put(self, item):
          
          if not item:
              return
          self._queue.put(item)
          if self._queue.qsize() >= self._max_queue_length:
              self.flush()
docs: Adds the passed in item object to the queue and calls :func:`flush` if the size of the queue is larger
          than :func:`max_queue_length`. This method does nothing if the passed in item is None.
  
          Args:
              item (:class:`contracts.Envelope`) item the telemetry envelope object to send to the service.