code: def _UpdateStatus(
        self, status, display_name, number_of_consumed_sources, storage_writer,
        force=False):
      
      current_timestamp = time.time()
      if not force and current_timestamp < (
          self._last_status_update_timestamp + self._STATUS_UPDATE_INTERVAL):
        return
  
      if status == definitions.STATUS_INDICATOR_IDLE:
        status = definitions.STATUS_INDICATOR_RUNNING
  
      used_memory = self._process_information.GetUsedMemory() or 0
  
      self._processing_status.UpdateForemanStatus(
          self._name, status, self._pid, used_memory, display_name,
          number_of_consumed_sources, storage_writer.number_of_event_sources, 0,
          storage_writer.number_of_events, 0, 0, 0, 0, 0,
          storage_writer.number_of_warnings)
  
      if self._status_update_callback:
        self._status_update_callback(self._processing_status)
  
      self._last_status_update_timestamp = current_timestamp
docs: Updates the processing status.
  
      Args:
        status (str): human readable status of the processing e.g. 'Idle'.
        display_name (str): human readable of the file entry currently being
            processed.
        number_of_consumed_sources (int): number of consumed sources.
        storage_writer (StorageWriter): storage writer for a session storage.
        force (Optional[bool]): True if the update should be forced ignoring
            the last status update time.