docstr: ML handler interface converter
  
  Args:
      name
      integration_id
      integration_engine
      handler_class
docstr_tok: ["ML","handler","interface","converter","Args",":","name","integration_id","integration_engine","handler_class"]
code: def __init__(
      self, name, integration_id, integration_engine, handler_class
  ):
      """ML handler interface converter
  
      Args:
          name
          integration_id
          integration_engine
          handler_class
      """  # noqa
      # TODO move this class to model controller
  
      self.name = name
      self.config = Config()
      self.integration_id = integration_id
      self.engine = integration_engine
      self.handler_class = handler_class
  
      self.model_controller = ModelController()
      self.database_controller = DatabaseController()
  
      self.parser = parse_sql
      self.dialect = "mindsdb"
  
      self.is_connected = True
  
      self.base_ml_executor = process_cache
      if self.config["ml_task_queue"]["type"] == "redis":
          self.base_ml_executor = MLTaskProducer()
  
imports: import socket
  import datetime
  from typing import Optional
  import pandas
  from sqlalchemy import func, null
  from sqlalchemy.sql.functions import coalesce
  from mindsdb_sql import parse_sql
  from mindsdb.utilities.config import Config
  import mindsdb.interfaces.storage.db
  from mindsdb.integrations.libs.response import HandlerResponse, RESPONSE_TYPE
  from mindsdb.__about__ import __version__
  from mindsdb.utilities.hooks import after_predict
  from mindsdb.interfaces.model.model_controller import ModelController
  from mindsdb.interfaces.model.functions import get_model_record
  from mindsdb.integrations.libs.const import PREDICTOR_STATUS
  from mindsdb.interfaces.database.database import DatabaseController
  from mindsdb.interfaces.storage.model_fs import ModelStorage, HandlerStorage
  from mindsdb.utilities.context import context
  from mindsdb.interfaces.model.functions import get_model_records
  from mindsdb.utilities.functions import mark_process
  import mindsdb.utilities.profiler
  from mindsdb.utilities.ml_task_queue.producer import MLTaskProducer
  from mindsdb.utilities.ml_task_queue.const import ML_TASK_TYPE
  from mindsdb.integrations.libs.process_cache import process_cache, empty_callback
label_desc: Use image node_id 1 to create a new BaseMLEngineExec object  with example: obj = BaseMLEngineExec(name, integration_id, integration_engine, handler_class)