code: def _get_all_date(self):
      logger.info("start get all date......")
      all_datetime = set()
      date_range_list = []
      _fun = partial(self._get_date, as_set=True, is_begin_end=True)
      with tqdm(total=len(self.csv_files)) as p_bar:
          with ProcessPoolExecutor(max_workers=self.works) as executor:
              for file_path, (
                  (_begin_time, _end_time),
                  _set_calendars,
              ) in zip(
                  self.csv_files, executor.map(_fun, self.csv_files)
              ):
                  all_datetime = all_datetime | _set_calendars
                  if isinstance(
                      _begin_time, pd.Timestamp
                  ) and isinstance(_end_time, pd.Timestamp):
                      _begin_time = self._format_datetime(_begin_time)
                      _end_time = self._format_datetime(_end_time)
                      symbol = self.get_symbol_from_file(file_path)
                      _inst_fields = [
                          symbol.upper(),
                          _begin_time,
                          _end_time,
                      ]
                      date_range_list.append(
                          f"{self.INSTRUMENTS_SEP.join(_inst_fields)}"
                      )
                  p_bar.update()
      self._kwargs["all_datetime_set"] = all_datetime
      self._kwargs["date_range_list"] = date_range_list
      logger.info("end of get all date.\n")
  
imports: import abc
  import shutil
  import traceback
  from pathlib import Path
  from typing import Iterable, List, Union
  from functools import partial
  from concurrent.futures import ThreadPoolExecutor, as_completed, ProcessPoolExecutor
  import fire
  import numpy
  import pandas
  from tqdm import tqdm
  from loguru import logger
  from qlib.utils import fname_to_code, code_to_fname
label_desc: Use image node_id 1 for calling the DumpDataAll obj's underlying member method code with example usage: obj._get_all_date() without return types