Процессор ListFile не обнаруживает никаких изменений ранее обработанного файла и обрабатывает его повторно. К вашему сведению, я перепробовал следующие опции для повторной обработки, и только последний упомянутый хак работает. Это один-узел NiFi, который я использую в своей среде разработки.
- Сценарий обновления: процессор ListFile не обнаруживает изменения содержимого файла и автоматически запускает его после обновления (т.е. обновления файла с помощью редактора VIM)
- Изменение метки времени Сценарий: изменение метки времени файла с помощью команды
touch -c
меняет метку времени файла, но это также не вызывает автоматического запуска процессора ListFile.
- Сценарий останова и запуска: остановка запуска всей группы процессов в NiFi после изменения файла, как упоминалось выше, также не вызывает запуска процессора ListFile.
- Условие ожидания: Ожидание в течение достаточно долгого времени после изменения файла также не помогает - на всякий случай, если предположить, что оно будет автоматически запускаться после некоторой задержки.
- HACK : Единственный способ, которым я могу запустить повторную обработку файла процессором ListFile, - это изменить выражение подстановочного знака для «File Filter» в процессоре ListFile безвредным идемпотентным способом, например, от
.*test.*\.csv
до test.*\.csv
и наоборот позже (т. е. переходите туда-сюда, как это, для повторной обработки).
Обработка файлов с такими же старыми именами и с измененными данными является для нас обязательным требованием. Пожалуйста, помогите!
И иногда может потребоваться принудительная повторная обработка даже неизмененного файла в случае непредвиденных проблем с данными в восходящем / нисходящем направлении. Пожалуйста, помогите!
UPDATE
Все еще сталкиваюсь с этим спорадическим поведением! Помогает только перезапуск NiFi, когда процессор ListFile не реагирует на изменение файла.