class_docstr: When we repeatedly run functions, it is hard to avoid memory leakage.
  So we run it in the subprocess to ensure it is OK.
  
  NOTE: Because local object can't be pickled. So we can't implement it via closure.
        We have to implement it via callable Class
docstr: Modify the initial function by adding Qlib initialization
docstr_tok: ["Modify","the","initial","function","by","adding","Qlib","initialization"]
code: def _func_mod(self, *args, **kwargs):
      """Modify the initial function by adding Qlib initialization"""
      if self.qlib_config is not None:
          C.register_from_C(self.qlib_config)
      return self.func(*args, **kwargs)
  
imports: from functools import partial
  from threading import Thread
  from typing import Callable, Text, Union
  from joblib import Parallel, delayed
  from joblib._parallel_backends import MultiprocessingBackend
  import pandas
  from queue import Queue
  import concurrent
  from qlib.config import C, QlibConfig
label_desc: Use image node_id 2 for calling the call_in_subproc obj's underlying member method code with example usage: obj._func_mod() and returns: self