![]() |
|
Модераторы: ginnie, korob2001 |
![]()
|
|
| sergderg |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 9.2.2009 Репутация: нет Всего: нет |
Добрый день!
Есть скрипт для сканирования каталога и обработки всех файлов, удовлетворяющих заданной маске. С некоторой периодичностью в сканируемый каталог попадают новые файлы, при этом, если файл оказывается достаточно большого размера, пишется он на диск не сразу и появляется вероятность начать обработку неполного файла. Как узнать что файл еще пишется на диск? Спасибо |
|||
|
||||
| xoma |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 4.4.2007 Репутация: нет Всего: нет |
воспользуйся блокировкой файла при записи
|
|||
|
||||
| sergderg |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 9.2.2009 Репутация: нет Всего: нет |
Вопрос-то и возник оттого, что механизм блокировки мне не помог. Файл в сканируемый каталог передается по FTP. Блокировка устанавливается, не смотря на то, что файл в этот момент еще пишется на диск:
|
||||
|
|||||
| Валерия |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 10.3.2007 Репутация: нет Всего: 8 |
Ну кривой способ, это прочитать размер файла два раза, с промежутком времени, и если не изменился - значит уже не записывается
|
|||
|
||||
| sergderg |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 9.2.2009 Репутация: нет Всего: нет |
Да, я уже подумывал над этим, но все-таки это опять же задержка в обработке, да и надежность такого способа не внушает доверия Должен ведь быть нормальный способ. |
|||
|
||||
| FooBar |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 25.2.2008 Репутация: 2 Всего: 3 |
если линукс то: http://search.cpan.org/search?query=inotify&mode=all
|
|||
|
||||
| aksined |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 26.12.2005 Репутация: 1 Всего: 1 |
если Вы сами писали скрипт, который обрабатывает файлы, и можете его изменить,
может быть изменить логику работы так, чтобы скрипт, который забирает файлы по ФТП сам запускал обработчик после окончания закачки? Кроме того, можно привязываться не к файлу, а наличию процесса в памяти. Есть утилиты и для win в том числе |
|||
|
||||
| ramus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 21.2.2008 Репутация: нет Всего: 1 |
А нельзя чтобы по FTP файл клался с именем <имя файла>.in_progress
А как положится быстро переименовывался в <имя файла> ? Вы можете изменить прогу которая кладет этот файл? |
|||
|
||||
![]()
|
| Правила форума "Perl: Системное программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |