code: def __enter__(self):
      msg = "You can only enter a ScheduleExecutor once"
      if self.entered:
          raise Exception(msg)
      self.entered = True
      # Create the number of threads we were asked to
      threads = []
      for _ in range(self.num_workers):
          thread = PageReader(
              self.fname, self.queries, self.loaded_queue, self.memory
          )
          thread.start()
          threads.append(thread)
  
      self.threads = threads
  
file_path: ffcv/ffcv/memory_managers/process_cache/schedule.py
imports: from collections import defaultdict
  from dataclasses import dataclass
  from typing import Mapping
  from queue import Queue
  import numpy
  from .page_reader import PageReader
label_desc: Use image node_id 2 for calling the ScheduleExecutor obj's underlying member method code with example usage: obj.__enter__() without return types