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: Run new task
  
  Args:
      func (Callable): function to run
      args (tuple): args to be passed to function
      kwargs (dict): kwargs to be passed to function
  
  Returns:
      Future
docstr_tok: ["Run","new","task","Args",":","func","(","Callable",")",":","function","to","run","args","(","tuple",")",":","args","to","be","passed","to","function","kwargs","(","dict",")",":","kwargs","to","be","passed","to","function","Returns",":","Future"]
code: def apply_async(
      self, func: Callable, *args: tuple, **kwargs: dict
  ) -> Future:
      """Run new task
  
      Args:
          func (Callable): function to run
          args (tuple): args to be passed to function
          kwargs (dict): kwargs to be passed to function
  
      Returns:
          Future
      """
      if not self.ready():
          raise Exception("Process task is not ready")
      self.task = self.pool.submit(func, *args, **kwargs)
      self.task.add_done_callback(self._update_last_usage_at_callback)
      self.last_usage_at = time.time()
      return self.task
  
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 11 for calling the WarmProcess obj's underlying member method code with example usage: obj.apply_async(func) and returns: self