inotify-hookablep - Інтернет у хмарі

Це команда inotify-hookablep, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

ПРОГРАМА:

ІМ'Я


inotify-hookable - блокування інтерфейсу командного рядка для inotify

СИНТАКСИС


Перегляньте каталог, повідомте нам, коли щось зміниться в ньому:

inotify-hookable --watch-directories /tmp/watch-this

Перегляньте дерево git, деякі конфігурації та сховище статичних активів, перезапустіть веб-сервер
або стисніть ці активи, якщо щось зміниться:

inotify-hookable
--watch-directories /etc/uwsgi
--watch-directories /git_tree/central
--watch-directories /etc/app-config
--watch-directories /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-files /var/www/cgi-bin/mod_perl_handler
--on-modify-command "apachectl restart"

ОПИС


Ця проста програма командного рядка є моєю заміною функціональності, яку пропонує
Plack's Filesys::Notify::Simple. Я виявив, що на дуже великих деревах git Plack витрачає
Надмірна кількість перегляду файлової системи на предмет змін.

Ця програма використовує Linux::Inotify2, тому ядро ​​повідомить про це негайно коли щось
змін (насправді це настільки швидко, що ми повинні обійти, як швидко він надсилає нам події).

Результатом є те, що ви можете запустити це, наприклад, під час екранного сеансу, і запропонувати йому стежити за вашим
середовище розробки, і ваш веб-сервер почне перезавантажуватися раніше, ніж ваш палець
залишає економити кнопки.

Тимчасові файли vim і emacs ігноруються за замовчуванням (див. "--ignore-paths".), тому ви можете
редагувати файли без перезавантаження сервера без потреби.

Наразі інтерфейс командного рядка для цього є єдиним, який дійсно має сенс,
цей модуль повністю блокується (хоча він, ймовірно, може працювати в іншому процесі через
POE чи щось таке). Патчі вітаються.

ВАРІАНТИ


Зауважте, що логічні параметри можна заперечувати за допомогою «--no-OPTION», наприклад «--no-r» або
«--no-recursive», щоб вимкнути параметр «--recursive», який увімкнено за замовчуванням.

"-w" or "--watch-directory"
Вкажіть це, щоб переглянути каталог, ви можете вказати його скільки завгодно разів
багато каталогів.

"-f" or "--watch-files"
Перегляньте файл, вкажіть кілька разів для кількох файлів. Ви можете переглядати файли і
каталогів у тій самій команді.

"-r" or "--рекурсивний"
Якщо ви вкажете це, будь-який каталог, який ви надасте, буде рекурсивно переглянуто. Це на
за замовчуванням.

"-c" or "--on-modify-command"
Команда, яка буде запущена, коли щось буде змінено.

"-C" or "--on-modify-path-command"
Пара ключ-значення, де ключ є регулярним виразом, який буде зіставлятися зі зміненим шляхом, і
значення – це команда, яка буде запущена. Для прикладу див. "КОНТАКТ".

Корисно, наприклад, для перезапуску веб-сервера, якщо ви змінюєте каталог A але стиснення деяких
статичні активи, якщо ви змінюєте каталог B.

"-t" or "--buffer-time"
Linux надішле вам сповіщення про події насправді швидко, настільки швидко, що якщо ви запускаєте щось на кшталт:

торкніться панелі Foo

Ви можете отримати подію для Foo в одній партії з подальшою подією для бар в подальшому.

Щоб впоратися з цим, ми входимо в цикл, коли починаємо отримувати події і спимо для значення за замовчуванням
100 мікросекунд, поки ми продовжуємо отримувати події, ми продовжуємо спати 100 мікросекунд,
але як тільки ми не отримуємо нічого нового, ми запускаємо наші обробники подій.

"-я" or "--ігнорувати-шляхи"
Регулярні вирази для файлів/каталогів для ігнорування подій. За замовчуванням для цього встановлено регулярні вирази
тимчасові файли vim і emacs, "qr{\..*sw.\z}" і "qr{\.\#[^/]+\z}" відповідно.

Регулярні вирази збігаються після будь-якого «/» у шляху або на початку рядка.

"-d" or "--відлагоджувати"
Викиньте докладний налагодження під час роботи.

СПОСОБИ


Цей модуль спочатку був розроблений на Booking.com і для нього. З погодженням від
Booking.com цей модуль був узагальнений і поставлений на CPAN, для чого хотіли б автори
висловити свою вдячність.

Використовуйте inotify-hookablep онлайн за допомогою служб onworks.net



Найновіші онлайн-програми для Linux і Windows