class_docstr: Abstraction for ML task. Should have interface similat to concurrent.futures.Future
  
  Attributes:
      db (Redis): database object
      redis_key (RedisKey): redis keys associated with task
      dataframe (DataFrame): task result
      exception (Exception): task exeuton  runtime exception
      _timeout (int): max time without status updating
docstr: need for compatability with concurrent.futures.Future interface
          
docstr_tok: ["need","for","compatability","with","concurrent.futures.Future","interface"]
code: def add_done_callback(self, fn: Callable) -> None:
      """need for compatability with concurrent.futures.Future interface"""
      pass
  
file_path: mindsdb/mindsdb/utilities/ml_task_queue/task.py
imports: from collections.abc import Callable
  import redis
  from pandas import DataFrame
  from mindsdb.utilities.ml_task_queue.utils import RedisKey, from_bytes
  from mindsdb.utilities.ml_task_queue.const import ML_TASK_STATUS
label_desc: Use image node_id 5 for calling the Task obj's underlying member method code with example usage: obj.add_done_callback(fn) without return types