class_docstr: Col-based storage.
class_docstr_tok: ["Col-based","storage","."]
code: def batch_put(self, batch_inputs: List[List]) -> bool:
      assert len(batch_inputs) == self._schema.size()
      with self._not_full:
          if self._sealed:
              return False
  
          if self._max_size > 0:
              while self.size >= self._max_size:
                  self._not_full.wait()
  
          for col_index in range(self._schema.size()):
              if (
                  self._schema.get_col_type(col_index)
                  == ColumnType.SCALAR
              ):
                  self._data[col_index].put(batch_inputs[col_index][0])
              else:
                  for item in batch_inputs[col_index]:
                      self._data[col_index].put(item)
  
          self._size = self._get_size()
          if self._size > 0:
              self._not_empty.notify(self._size)
          return True
  
imports: import threading
  import copy
  from enum import Enum, auto
  from typing import List, Tuple, Union, Dict, Optional
  from collections import deque, namedtuple
label_desc: Use image node_id 4 for calling the DataQueue obj's underlying member method code with example usage: obj.batch_put(batch_inputs) and returns: True, False