Как лучше всего сделать спул в каталоге с помощью pyinotify?

Я пытаюсь переместить каждый файл в каталоге в другой при их создании. Возможно, я смогу остановить демон (запущенный экземпляр pyinotify), а исходные файлы по-прежнему будут создаваться в каталоге orig / spool.

Я хочу быть обработанным после того, как демон снова запустится. Может быть, я смогу воспользоваться очередями ядра inotify?

заранее спасибо


person avances123    schedule 31.01.2012    source источник


Ответы (1)


На самом деле вы хотите перемещать их не по мере их создания, а по мере их закрытия. Когда они закрыты (и ни у кого нет открытых файловых дескрипторов), вы можете считать их «завершенными» и перемещать их без каких-либо сюрпризов.

Вы, вероятно, будете хороши, если будете искать событие close_write. (Хотя это не гарантирует, что файл содержит данные или новые данные, вам нужно будет проверить событие modify-> close_write. Но в 99,99% случаев close_write выполнит свою работу.

person synthesizerpatel    schedule 31.01.2012
comment
Да, это все правда, я поймаю события close_write. Моя проблема в последовательности запуска, цикл в полном дереве ищет файлы, созданные (закрытые для записи), когда демон не запущен. - person avances123; 31.01.2012