class_docstr: Parallel rollout runner that allows to collect features by replaying pre-computed action records.
  
  :param max_episode_steps: The maximum number of agent actions to take (careful these are not internal env steps).
  :param deterministic: Deterministic or stochastic action sampling.
  :param action_record_path: Path to action records.
  :param normalization_samples: Number of samples (=steps) to collect normalization statistics.
  :param n_processes: Count of processes to spread the rollout across.
  :param verbose: If True debug messages are printed to the command line.
docstr: Configure the workers according to the rollout config and launch them.
docstr_tok: ["Configure","the","workers","according","to","the","rollout","config","and","launch","them","."]
code: def _launch_workers(
      self,
      env: ConfigType,
      wrappers: CollectionOfConfigType,
      agent: ConfigType,
  ) -> Iterable[Process]:
      """Configure the workers according to the rollout config and launch them."""
  
      self.seeding_queue = Queue()
      for path in self.action_record_paths:
          self.seeding_queue.put(path)
  
      n_plans = len(self.action_record_paths)
      actual_number_of_episodes = min(n_plans, self.n_episodes)
      if actual_number_of_episodes < self.n_episodes:
          BColors.print_colored(
              f"Only {n_plans} explicit seed(s) given, thus the number of episodes changed "
              f"from: {self.n_episodes} to {actual_number_of_episodes}.",
              BColors.WARNING,
          )
  
      # Configure and launch the processes
      workers = self._configure_and_launch_processes(
          parallel_worker_type=ActionRecordWorker,
          env=env,
          wrappers=wrappers,
          agent=agent,
      )
      return workers
  
imports: import glob
  import logging
  import os
  import traceback
  from multiprocessing import Queue, Process
  from typing import Iterable
  from omegaconf import DictConfig
  from maze.core.agent.replay_recorded_actions_policy import ReplayRecordedActionsPolicy
  from maze.core.annotations import override
  from maze.core.env.maze_env import MazeEnv
  from maze.core.rollout.parallel_rollout_runner import ParallelRolloutRunner, ParallelRolloutWorker, ExceptionReport
  from maze.core.rollout.rollout_runner import RolloutRunner
  from maze.core.utils.factory import ConfigType, CollectionOfConfigType
  from maze.core.wrappers.observation_normalization.observation_normalization_utils import obtain_normalization_statistics
  from maze.core.wrappers.observation_normalization.observation_normalization_wrapper import ObservationNormalizationWrapper
  from maze.core.wrappers.spaces_recording_wrapper import SpacesRecordingWrapper
  from maze.utils.bcolors import BColors
label_desc: Use image node_id 3 for calling the ActionRecordRolloutRunner obj's underlying member method code with example usage: obj._launch_workers(env, wrappers, agent) and returns: workers