Подтвердить что ты не робот

Node.js fs.watchFile постоянные механизмы слежения?

Может кто-нибудь объяснить, как работают постоянные часы?

Есть ли у него ресурсы на ПК, если он просматривает файлы для изменений?

Спасибо;)

4b9b3361

Ответ 1

fs.watchFile создает StatWatcher, который затем выполняет stat в просматриваемом файле. Как именно это происходит на низком уровне (при выполнении очевидного вызова статистики) зависит от реализации цикла событий, с которой был скомпилирован node.

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

См:
https://github.com/ry/node/blob/v0.3.2/lib/fs.js#L472
https://github.com/ry/node/blob/v0.3.2/src/node_stat_watcher.h#L39
https://github.com/ry/node/blob/v0.3.2/src/node_stat_watcher.cc#L78

Дополнительная информация о параметрах

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

Насколько я видел, требуется 3-5 секунд, чтобы заметить изменения (с   по умолчанию), могу ли я сделать это быстрее?

В linux используется inotify - что быстрее

насколько тяжело смотреть сотни файлов?

Heavy. Это не для этого.

Источник: Опубликовать в Node.js Google Group от Ryan Dahl

В заключение
Если вы используете linux, параметр interval не имеет никакого эффекта и т.д.
Если вы не установили persistent, и ничего больше в цикле событий, кроме наблюдателя файлов, программа выйдет.