Это команда inotify-hookablep, которую можно запустить в провайдере бесплатного хостинга OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
inotify-hookable - блокировка интерфейса командной строки для inotify
СИНТАКСИС
Следите за каталогом, сообщайте нам, когда в нем что-то меняется:
inotify-hookable --watch-каталоги / tmp / смотреть-это
Посмотрите дерево git, некоторые конфигурации и репозиторий статических ресурсов, перезапустите веб-сервер
или сжать эти активы, если что-то изменится:
inotify-hookable \
--watch-каталоги / etc / uwsgi \
--watch-каталоги / git_tree / central \
--watch-каталоги / etc / app-config \
--watch-каталоги / git_tree / static_assets \
--on-modify-path-command "^ (/ etc / uwsgi | / git_tree / central | / etc / app-config) = sudo /etc/init.d/uwsgi restart" \
--on-modify-path-command "^ / git_tree / static_assets = (cd / git_tree / static_assets && compress_static_assets)"
Или посмотрите конкретные файлы:
inotify-hookable \
--watch-файлы / var / www / cgi-bin / mod_perl_handler \
--on-modify-command "перезапуск apachectl"
ОПИСАНИЕ
Эта простая программа командной строки - моя замена функциональности, предлагаемой
Plack's Filesys :: Notify :: Simple. Я обнаружил, что на очень больших git-деревьях Плак тратит
чрезмерное количество наблюдений за изменениями файловой системы.
Эта программа использует Linux :: Inotify2, поэтому ядро уведомит ее. немедленно когда что-то
изменения (на самом деле это так быстро, что нам приходится работать над тем, как быстро он отправляет нам события).
В результате вы можете запустить это, например, в сеансе экрана, и он будет наблюдать за вашим
среда разработки, и ваш веб-сервер начнет перезапускаться раньше, чем ваш палец
оставляет спасти .
Временные файлы vim и emacs по умолчанию игнорируются (см. «--ignore-paths».), поэтому вы можете
редактировать файлы без перезапуска сервера без необходимости.
В настоящее время интерфейс командной строки для этого является единственным, что действительно имеет смысл,
этот модуль полностью блокируется (хотя он, вероятно, мог бы работать в другом процессе через
POE или что-то в этом роде). Патчи приветствуются.
ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ
Обратите внимание, что логические параметры могут быть отменены с помощью "--no-OPTION", например, "--no-r" или
«--no-recursive», чтобы отключить параметр «--recursive», который включен по умолчанию.
"-w" or "--watch-каталоги"
Укажите это, чтобы смотреть каталог, вы можете указывать это, сколько угодно раз.
много каталогов.
"-f" or "--watch-файлы"
Просмотрите файл, укажите несколько раз для нескольких файлов. Вы можете смотреть файлы и
каталоги в одной команде.
"-р" or "--рекурсивный"
Если вы предоставите это, любой предоставленный вами каталог будет рекурсивно отслеживаться. Это продолжается
по умолчанию.
"-c" or "--on-modify-command"
Команда, которая будет запускаться при изменении чего-либо.
"-C" or "--on-modify-path-command"
Пара ключ-значение, где ключ является регулярным выражением, которое будет сопоставлено с измененным путем, и
значение - это команда, которая будет запущена. См. Пример в «СИНОПСИСЕ».
Полезно, например, для перезапуска веб-сервера при изменении каталога A но сжимая некоторые
статические активы, если вы изменяете каталог B.
"-т" or "--буфер-время"
Linux будет отправлять вам события inotify на самом деле быстро, так быстро, что если вы запустите что-то вроде:
сенсорная панель foo
Вы можете устроить мероприятие для Foo одним пакетом, за которым следует мероприятие для бар позже.
Чтобы справиться с этим, мы вводим цикл, когда начинаем получать события и спим, по умолчанию
100 микросекунд, пока мы продолжаем получать события, мы продолжаем спать 100 микросекунд,
но как только мы не получили ничего нового, мы запускаем обработчики событий.
"-Я" or "--ignore-paths"
Регулярные выражения для файлов / каталогов, для которых игнорируются события. По умолчанию установлено регулярное выражение для
временные файлы vim и emacs, "qr {\ .. * sw. \ z}" и "qr {\. \ # [^ /] + \ z}" соответственно.
Регулярные выражения совпадают после любого символа "/" в пути или начале строки.
"-d" or "--отлаживать"
Выдавайте некоторые подробные отладочные данные во время работы.
ПОДТВЕРЖДЕНИЕ
Изначально этот модуль был разработан на Booking.com. С одобрения
Booking.com этот модуль был обобщен и поставлен на CPAN, за что авторы хотели
выразить свою благодарность.
Используйте inotify-hookablep в Интернете с помощью сервисов onworks.net