Как заставить inotify ждать при обработке нескольких файлов - PullRequest
1 голос
/ 27 июля 2010

Я работаю над программой синхронизации каталогов, которая использует jnotify для проверки изменений.

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

В идеале, если вы должны были скопировать 100 больших файлов в каталог A, синхронизация в каталог Bне будет происходить, пока все файлы не будут полностью скопированы в каталог A.

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

Возможно, есть способ использовать/ jnotify, чтобы определить, когда несколько файлов обновляются одновременно?

1 Ответ

1 голос
/ 19 августа 2010

Вот предложение.Как насчет настройки набора в вашем приложении и сбора «измененных» файлов / и т. Д., Он добавит этот файл в набор, и когда число файлов превысит определенное количество, скажем, 100, вы выполните синхронизацию.,Также было бы неплохо настроить таймер, если вы хотите, чтобы он был разумно отзывчивым, например, если нет новых изменений и т. Д., Которые добавляются в набор для X, продолжайте и выполните синхронизацию..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...