Я создаю скрипт для обработки файлов, предоставленных нам нашими пользователями.Все происходит в одной и той же системе UNIX (работает на Solaris 10)
Прямо сейчас наш дизайн такой:
- Пользователь помещает файл в каталог загрузки
- Скрипт, размещенный на cronзапускаться каждые 10 минут.
- Скрипт ищет файлы в каталоге загрузки, обрабатывает их, немедленно удаляет
По историческим / устаревшим причинам # 1 не может измениться.Кроме того, удаление файла после обработки является обязательным требованием.
Моя главная задача - параллелизм.Весьма вероятно, что возникнет ситуация, когда сценарий анализа будет запущен во время записи входного файла.В этом случае данные будут потеряны, и это (очевидно) недопустимо.
Поскольку мы не контролируем выбранные пользователем средства размещения входного файла, мы не можем требовать от них блокировки файла.Как я понимаю, блокировки файлов рекомендуются только в UNIX.Поэтому пользователь должен выбрать придерживаться их.
Я ищу советы по передовым методам решения этой проблемы.Спасибо