self,
        dag_directory: os.PathLike,
        max_runs: int,
        processor_timeout: timedelta,
        dag_ids: list[str] | None,
        pickle_dags: bool,
        async_mode: bool,
    ):
        super().__init__()
        self._dag_directory: os.PathLike = dag_directory
        self._max_runs = max_runs
        self._processor_timeout = processor_timeout
        self._dag_ids = dag_ids
        self._pickle_dags = pickle_dags
        self._async_mode = async_mode
        
        self._processors: dict[str, DagFileProcessorProcess] = {}
        
        self._process: multiprocessing.process.BaseProcess | None = None
        self._done: bool = False
        
        self._all_files_processed = True
        self._parent_signal_conn: MultiprocessingConnection | None = None
        self._last_parsing_stat_received_at: float = time.monotonic()
    def start(self) -> None: