class_docstr: FileMapper
class_docstr_tok: ["FileMapper"]
docstr: Run 
docstr_tok: ["Run"]
code: def run(self, args, func):
      """Run"""
      logger.debug("begin Run")
      file_num = self.init(args.input_dir)
      process_list = []
      lock_list = []
      progress_file_lock = Lock()
      for i in range(args.part_num):
          lock_list.append(Lock())
      process_num = min(args.num_workers, file_num, CPU_NUM)
      for i in range(0, process_num):
          p = Process(
              target=self.excute_func,
              args=(args, func, progress_file_lock, lock_list, i),
          )
          p.start()
          process_list.append(p)
  
      for p in process_list:
          p.join()
      self.fini()
      logger.debug("end Run")
  
file_path: PGL/apps/PGLBox/sharding_tool/graph_sharding.py
imports: import sys
  import os
  import logging
  import time
  import json
  import shutil
  import argparse
  import multiprocessing
  from multiprocessing import Lock
  from multiprocessing import Process
label_desc: Use image node_id 4 for calling the FileMapper obj's underlying member method code with example usage: obj.run(args, func) without return types