def METHOD_NAME(self, file_path, entity, **kwargs):
    """Main execution step of an ingestor."""
    file_path = ensure_path(file_path)
    if file_path.is_file() and not entity.has("fileSize"):
        entity.add("fileSize", file_path.stat().st_size)
    now = datetime.now()
    now_string = now.strftime("%Y-%m-%dT%H:%M:%S.%f")
    entity.set("processingStatus", self.STATUS_FAILURE)
    entity.set("processingAgent", get_distribution("ingest").version)
    entity.set("processedAt", now_string)
    try:
        ingestor_class = self.auction(file_path, entity)
        log.info("Ingestor [%r]: %s", entity, ingestor_class.__name__)
        self.delegate(ingestor_class, file_path, entity)
        entity.set("processingStatus", self.STATUS_SUCCESS)
    except ProcessingException as pexc:
        entity.set("processingError", stringify(pexc))
        log.exception("[%r] Failed to process: %s", entity, pexc)
        capture_exception(pexc)
    finally:
        self.finalize(entity)