code: def visit_batch_started(self, signal: "Signal") -> None:
      if self._last_batch_started_at is None:
          self._last_batch_started_at = signal.occured_at
  
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 2 for calling the SignalsProcessor obj's underlying member method code with example usage: obj.visit_batch_started(signal) without return types