class_docstr: Class-wrapper for a process that persist for a long time. The process
  may be initialized with any handler requirements. Current implimentation
  is based on ProcessPoolExecutor just because of multiprocessing.pool
  produce daemon processes, which can not be used for learning. That
  bahaviour may be changed only using inheritance.
class_docstr_tok: ["Class-wrapper","for","a","process","that","persist","for","a","long","time",".","The","process","may","be","initialized","with","any","handler","requirements",".","Current","implimentation","is","based","on","ProcessPoolExecutor","just","because","of","multiprocessing.pool","produce","daemon","processes",",","which","can","not","be","used","for","learning",".","That","bahaviour","may","be","changed","only","using","inheritance","."]
docstr: create and init new process
  
  Args:
      initializer (Callable): the same as ProcessPoolExecutor initializer
      initargs (tuple): the same as ProcessPoolExecutor initargs
docstr_tok: ["create","and","init","new","process","Args",":","initializer","(","Callable",")",":","the","same","as","ProcessPoolExecutor","initializer","initargs","(","tuple",")",":","the","same","as","ProcessPoolExecutor","initargs"]
code: def __init__(
      self, initializer: Optional[Callable] = None, initargs: tuple = ()
  ):
      """create and init new process
  
      Args:
          initializer (Callable): the same as ProcessPoolExecutor initializer
          initargs (tuple): the same as ProcessPoolExecutor initargs
      """
      self.pool = ProcessPoolExecutor(
          1, initializer=initializer, initargs=initargs
      )
      self.last_usage_at = time.time()
      self._markers = set()
      # region bacause of ProcessPoolExecutor does not start new process
      # untill it get a task, we need manually run dummy task to force init.
      self.task = self.pool.submit(dummy_task)
      self._init_done = False
      self.task.add_done_callback(self._init_done_callback)
  
imports: import sys
  import time
  import threading
  from typing import Optional, Callable
  from concurrent.futures import ProcessPoolExecutor, Future
  from pandas import DataFrame
  from mindsdb.utilities.config import Config
  from mindsdb.utilities.context import context
  from mindsdb.utilities.ml_task_queue.const import ML_TASK_TYPE
  from mindsdb.integrations.libs.learn_process import learn_process, predict_process
label_desc: Use image node_id 1 to create a new WarmProcess object  with example: obj = WarmProcess(initializer, initargs)