code: def __init__(self, config):
      super().__init__()
      self._config = config
      self._web_server = None
      self._web_app = None
  
      extra_mod_names = (
          self._config.get("extra_discovery_modules") or []
      )
      web_handlers = self._config.get("web_handlers", {})
      for mod_name in extra_mod_names:
          try:
              web_mod = importlib.import_module(mod_name)
              web_handlers.update(getattr(web_mod, "web_handlers", {}))
          except ImportError:  # pragma: no cover
              pass
  
file_path: mars/mars/services/web/supervisor.py
imports: import importlib
  import logging
  import os
  from tornado import web
  from ...None import oscar
  from ...utils import get_next_port
  from ..core import AbstractService
label_desc: Use image node_id 1 to create a new WebActor object from inherited base classes: mo with example: obj = WebActor(config)