docstr: Stops all workers (non-blocking)
docstr_tok: ["Stops","all","workers","(","non-blocking",")"]
code: def stop(self):
      """Stops all workers (non-blocking)"""
      logger.debug("stopping")
      if self._ventilator:
          self._ventilator.stop()
      try:
          self._control_sender.send_string(_CONTROL_FINISHED)
      except ZMQBaseError as e:
          logger.warning(
              "Stopping worker processes failed with '%s'. Does not necessary indicates an error."
              "This can happen if worker processes were terminated due to an error raised in that "
              "process. See the log for additional messages from the failed worker.",
              str(e),
          )
  
imports: import logging
  import pickle
  import sys
  import os
  from time import sleep, time
  from traceback import format_exc
  from threading import Thread
  from psutil import pid_exists
  import zmq
  from zmq import ZMQBaseError
  from petastorm.reader_impl.pickle_serializer import PickleSerializer
  from petastorm.workers_pool import EmptyResultError, VentilatedItemProcessedMessage
  from petastorm.workers_pool.exec_in_new_process import exec_in_new_process
label_desc: Use image node_id 7 for calling the ProcessPool obj's underlying member method code with example usage: obj.stop() without return types