code: def close(self):
      self.is_running = False
      try:
          self._inner_close()
      except Exception as err:
          # ignore any error on closing
          print("error on closing channel: %s" % err)
  
imports: import json
  import threading
  import time
  from abc import ABC, abstractmethod
  from queue import Empty, Queue
  from .log_utils import LogType, nni_log
  from .commands import CommandType
label_desc: Use image node_id 7 for calling the BaseChannel obj's underlying member method code with example usage: obj.close() without return types