1

Приложение регулярно опрашивает каталог для входных CSV-файлов, которые поступают по FTP, поэтому на этом компьютере работает FTP-сервер (в настоящее время Filezilla Server).

Проблема заключается в том, что если файл находится в процессе загрузки, когда приложение решает опрашивать местоположение, то файл блокируется, и в приложение бросаются всевозможные неприглядные ошибки, разрушающие пользовательский опыт.

Теперь, если я не могу изменить приложение, чтобы ждать, можно ли что-нибудь сделать с этим? Например, сервер автоматически перемещает или переименовывает файл после завершения загрузки? Или дождаться завершения загрузки перед сохранением файла? Или есть другие серверы, которые предлагают такие решения?

1 ответ1

0

Я бы рекомендовал подход, при котором ваше приложение не опрашивает местоположение, используемое другим процессом (в данном случае FTP-сервером) для записи. Вместо этого установите процесс в файлы rnfr/rnto (атомарная операция) после того, как они поступят в местоположения, которые опрашивает ваше приложение ... Вам следует попытаться заблокировать файл на чтение, а в случае неудачи пропустить его до следующей попытки. Другим подходом является использование файла маркера, который прибудет последним в пакете файлов, и сообщает вам приложение для опроса, что оно может начать обработку CSV-файлов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .