code: def __init__(
      self,
      queue: "Queue[Signal]",
      async_lag_threshold: float,
      async_no_progress_threshold: float,
      async_lag_callback: Optional[
          Callable[["MetadataContainer"], None]
      ] = None,
      async_no_progress_callback: Optional[
          Callable[["MetadataContainer"], None]
      ] = None,
      period: float = 10,
  ) -> None:
      self._period: float = period
      self._queue: "Queue[Signal]" = queue
      self._thread: Optional["SignalsProcessor"] = None
      self._started: bool = False
      self._async_lag_threshold: float = async_lag_threshold
      self._async_no_progress_threshold: float = (
          async_no_progress_threshold
      )
      self._async_lag_callback: Optional[
          Callable[["MetadataContainer"], None]
      ] = async_lag_callback
      self._async_no_progress_callback: Optional[
          Callable[["MetadataContainer"], None]
      ] = async_no_progress_callback
  
file_path: neptune-client/src/neptune/internal/signals_processing/background_job.py
imports: from queue import Queue
  from typing import TYPE_CHECKING, Callable, Optional
  from neptune.internal.background_job import BackgroundJob
  from neptune.internal.signals_processing.signals_processor import SignalsProcessor
label_desc: Use image node_id 1 to create a new CallbacksMonitor object from inherited base classes: BackgroundJob with example: obj = CallbacksMonitor(queue, async_lag_threshold, async_no_progress_threshold, async_lag_callback, async_no_progress_callback, period)