Improvement: add retry to preflight plugin file check

This commit is contained in:
shamoon 2025-06-20 07:08:34 -07:00
parent e1c3124698
commit 1b575e9a87
No known key found for this signature in database

View File

@ -2,6 +2,7 @@ import datetime
import hashlib import hashlib
import os import os
import tempfile import tempfile
import time
from enum import Enum from enum import Enum
from pathlib import Path from pathlib import Path
from typing import TYPE_CHECKING from typing import TYPE_CHECKING
@ -765,11 +766,18 @@ class ConsumerPreflightPlugin(
assert isinstance(self.input_doc.original_file, Path), ( assert isinstance(self.input_doc.original_file, Path), (
self.input_doc.original_file self.input_doc.original_file
) )
if not self.input_doc.original_file.is_file(): # Retry briefly in case file creation is delayed
self._fail( for _ in range(10):
ConsumerStatusShortMessage.FILE_NOT_FOUND, if self.input_doc.original_file.is_file():
f"Cannot consume {self.input_doc.original_file}: File not found.", 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): def pre_check_duplicate(self):
""" """