code: def visit_batch_processed(self, signal: "Signal") -> None:
      if self._last_batch_started_at is not None:
          self._check_no_progress(at_timestamp=signal.occured_at)
          self._last_batch_started_at = None
  
file_path: neptune-client/src/neptune/internal/signals_processing/signals_processor.py
imports: from queue import Empty, Queue
  from threading import Thread
  from time import monotonic
  from typing import TYPE_CHECKING, Callable, Optional
  from neptune.internal.init.parameters import IN_BETWEEN_CALLBACKS_MINIMUM_INTERVAL
  from neptune.internal.signals_processing.signals import BatchLagSignal, SignalsVisitor
  from neptune.internal.threading.daemon import Daemon
label_desc: Use image node_id 3 for calling the SignalsProcessor obj's underlying member method code with example usage: obj.visit_batch_processed(signal) without return types