code: def __init__(self, ws_factory: WebsocketsFactory):
      self._ws_factory = ws_factory
      self._thread: "Optional[WebsocketSignalsBackgroundJob._ListenerThread]" = (
          None
      )
      self._started = False
  
imports: import json
  import logging
  import threading
  from json.decoder import JSONDecodeError
  from typing import TYPE_CHECKING, Optional
  from websocket import WebSocketConnectionClosedException
  from neptune.attributes.constants import SIGNAL_TYPE_ABORT, SIGNAL_TYPE_STOP, SYSTEM_FAILED_ATTRIBUTE_PATH
  from neptune.common.websockets.reconnecting_websocket import ReconnectingWebsocket
  from neptune.internal.background_job import BackgroundJob
  from neptune.internal.threading.daemon import Daemon
  from neptune.internal.utils import process_killer
  from neptune.internal.utils.logger import logger
  from neptune.internal.websockets.websockets_factory import WebsocketsFactory
label_desc: Use image node_id 1 to create a new WebsocketSignalsBackgroundJob object from inherited base classes: BackgroundJob with example: obj = WebsocketSignalsBackgroundJob(ws_factory)