From 1b575e9a87d67995e8c1508913e5406e6c8ed053 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 20 Jun 2025 07:08:34 -0700 Subject: [PATCH] Improvement: add retry to preflight plugin file check --- src/documents/consumer.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/documents/consumer.py b/src/documents/consumer.py index 31db723d9..2b0822786 100644 --- a/src/documents/consumer.py +++ b/src/documents/consumer.py @@ -2,6 +2,7 @@ import datetime import hashlib import os import tempfile +import time from enum import Enum from pathlib import Path from typing import TYPE_CHECKING @@ -765,11 +766,18 @@ class ConsumerPreflightPlugin( assert isinstance(self.input_doc.original_file, Path), ( self.input_doc.original_file ) - if not self.input_doc.original_file.is_file(): - self._fail( - ConsumerStatusShortMessage.FILE_NOT_FOUND, - f"Cannot consume {self.input_doc.original_file}: File not found.", + # Retry briefly in case file creation is delayed + for _ in range(10): + if self.input_doc.original_file.is_file(): + return + self.log.debug( + f"Waiting for file {self.input_doc.original_file} to appear...", ) + time.sleep(0.1) + self._fail( + ConsumerStatusShortMessage.FILE_NOT_FOUND, + f"Cannot consume {self.input_doc.original_file}: File not found.", + ) def pre_check_duplicate(self): """