code: def __call__(self):
      iterval = 400000 * 24 // self.config.walk_len
      walk_generator = self.base_walk_generator
      walk_generator = AsynchronousGenerator(
          walk_generator, maxsize=10000
      )
  
      walk_cc = 0
      for walks in stream_shuffle_generator(
          walk_generator,
          self.walk_batch_size,
          self.walk_stream_shuffle_size,
      ):
          walk_cc += len(walks)
          if walk_cc % iterval == 0 and self.rank == 0:
              try:
                  log.info(
                      "the walk length is [%s] in rank [%s]"
                      % (len(walks[0]), self.rank)
                  )
              except Exception as e:
                  log.info(e)
          yield walks
      log.info(
          "total [%s] number walks in rank [%s]" % (walk_cc, self.rank)
      )
  
file_path: PGL/examples/metapath2vec/datasets/walk.py
imports: import os
  import sys
  import time
  import warnings
  import numpy
  from collections import defaultdict
  from pgl.utils.logger import log
  from pgl.distributed import DistGraphClient, DistGraphServer
  from utils.config import prepare_config
  from datasets.helper import stream_shuffle_generator, AsynchronousGenerator
  from datasets.node import NodeGenerator
  import datasets.sampling
label_desc: Use image node_id 2 for calling the WalkGenerator obj's underlying member method code with example usage: obj.__call__() without return types