class_docstr: Reduce node.
  
  Reduce the sequence to a single value
class_docstr_tok: ["Reduce","node",".","Reduce","the","sequence","to","a","single","value"]
code: def process_step(self):
      self._time_profiler.record(self.uid, Event.queue_in)
      self._time_profiler.record(self.uid, Event.process_out)
      succ, outputs, msg = self._call(
          [self.get_col(key) for key in self._node_repr.inputs]
      )
      assert succ, msg
      self._time_profiler.record(self.uid, Event.process_out)
      size = len(self._node_repr.outputs)
      if size > 1:
          output_map = dict(
              (self._node_repr.outputs[i], outputs[i])
              for i in range(size)
          )
      elif size == 0:
          # ignore the op result
          # eg: ignore the milvus result
          # .map('vec', (), ops.ann_insert.milvus()),
          output_map = {}
      else:
          # Use one col to store all op result.
          output_map = {}
          output_map[self._node_repr.outputs[0]] = outputs
  
      self._time_profiler.record(self.uid, Event.queue_out)
      if not self.data_to_next(output_map):
          return
      self._set_finished()
  
file_path: towhee/towhee/runtime/nodes/_reduce.py
imports: import threading
  from typing import List
  from collections import deque
  from towhee.runtime.time_profiler import Event
  from towhee.runtime.data_queue import Empty
  from .node import Node
  from ._single_input import SingleInputMixin
label_desc: Use image node_id 4 for calling the Reduce obj's underlying member method code with example usage: obj.process_step() without return types