docs: def poll(self):
          """Start the poll process by invoking the get_stats method of the
          consumers. If we hit this after another interval without fully
          processing, note it with a warning.
  
          """
          self.set_state(self.STATE_ACTIVE)
  
          # If we don't have any active consumers, spawn new ones
          if not self.total_process_count:
              LOGGER.debug('Did not find any active consumers in poll')
              return self.check_process_counts()
  
          # Start our data collection dict
          self.poll_data = {'timestamp': time.time(), 'processes': list()}
  
          # Iterate through all of the consumers
          for proc in list(self.active_processes()):
              if proc == multiprocessing.current_process():
                  continue
  
              # Send the profile signal
              os.kill(int(proc.pid), signal.SIGPROF)
              self.poll_data['processes'].append(proc.name)
  
          # Check if we need to start more processes
          self.check_process_counts()