Ito ang command na inotify-hookablep na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator
PROGRAMA:
NAME
inotify-hookable - hinaharangan ang interface ng command-line upang ipaalam
SINOPSIS
Manood ng isang direktoryo, sabihin sa amin kapag nagbago ang mga bagay dito:
inotify-hookable --watch-directories /tmp/watch-this
Manood ng git tree, ilang config, at repository ng mga static na asset, i-restart ang webserver
o i-compress ang mga asset na iyon kung may magbabago:
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)"
O manood ng mga partikular na file:
inotify-hookable \
--watch-files /var/www/cgi-bin/mod_perl_handler \
--on-modify-command "apachectl restart"
DESCRIPTION
Ang simpleng command-line program na ito ay ang aking kapalit para sa functionality na inaalok ng
Plock's Filesys::Notify::Simple. Natagpuan ko na sa napakalaking git tree ay gagastos si Plack ng isang
labis na halaga na nanonood sa filesystem para sa mga pagbabago.
Gumagamit ang program na ito ng Linux::Inotify2, kaya aabisuhan ito ng kernel kaagad kapag may
mga pagbabago (sa totoo lang ay napakabilis nito na kailangan nating ayusin kung gaano ito kabilis nagpapadala sa atin ng mga kaganapan).
Ang resulta ay maaari mong patakbuhin ito hal sa isang screen session at ipapanood ito sa iyo
development environment, at ang iyong webserver ay magsisimula nang mag-restart bago ang iyong daliri
umalis sa i-save ang button.
vim at emacs pansamantalang mga file ay binabalewala bilang default (tingnan ang "--ignore-paths".) upang maaari mong
i-edit ang iyong mga file nang hindi nagre-restart ang iyong server nang hindi kinakailangan.
Sa kasalukuyan, ang interface ng command-line para dito ay ang isa lamang na talagang may katuturan,
ang modyul na ito ay ganap na humaharang (bagaman maaari itong tumakbo sa isa pang proseso sa pamamagitan ng
POE o isang bagay). Malugod na tinatanggap ang mga patch.
Opsyon
Tandaan na ang mga opsyon sa boolean ay maaaring kontrahin ng "--no-OPTION", hal. "--no-r" o
"--no-recursive" upang i-off ang "--recursive" na opsyon na naka-on bilang default.
"-w" or "--watch-directories"
Tukuyin ito upang manood ng isang direktoryo, maaari mong ibigay ito gayunpaman maraming beses mo gustong panoorin
maraming mga direktoryo.
"-f" or "--watch-files"
Manood ng isang file, tumukoy ng maraming beses para sa maramihang mga file. Maaari kang manood ng mga file at
mga direktoryo sa parehong utos.
"-r" or "--recursive"
Kung ibibigay mo ito sa anumang direktoryo na iyong ibibigay ay recursively na babantayan. Ito ay sa pamamagitan ng
default.
"-c" or "--on-modify-command"
Isang utos na tatakbo kapag may nabago.
"-C" or "--on-modify-path-command"
Isang pares ng key-value kung saan ang susi ay isang regex na itutugma sa isang binagong path, at
ang halaga ay isang command na tatakbo. Tingnan ang "SYNOPSIS" para sa isang halimbawa.
Kapaki-pakinabang para sa hal. pag-restart ng isang webserver kung babaguhin mo ang direktoryo A ngunit pinipiga ang ilan
mga static na asset kung babaguhin mo ang direktoryo B.
"-t" or "--buffer-time"
Ipapadala sa iyo ng Linux ang mga kaganapang ipaalam Talaga mabilis, napakabilis na kung magpapatakbo ka ng isang bagay tulad ng:
pindutin ang foo bar
Maaari kang makakuha ng isang kaganapan para sa foo sa isang batch, na sinusundan ng isang kaganapan para sa bar sa ibang Pagkakataon.
Upang harapin ito, naglalagay kami ng isang loop kapag nagsimula kaming makakuha ng mga kaganapan at matulog para sa isang default na
100 microseconds, hangga't patuloy kaming nakakakuha ng mga event natutulog kami ng 100 microseconds,
ngunit sa sandaling wala pa kaming natatanggap na bago ay pinaalis namin ang aming mga handler ng kaganapan.
"-ako" or "--ignore-paths"
Mga regexe para sa mga file/direktoryo upang huwag pansinin ang mga kaganapan. Bilang default, nakatakda ito sa mga regex para sa
vim at emacs pansamantalang mga file, "qr{\..*sw.\z}" at "qr{\.\#[^/]+\z}" ayon sa pagkakabanggit.
Ang mga regex ay tumutugma pagkatapos ng anumang "/" sa path o sa simula ng string.
"-d" or "--debug"
Ilabas ang ilang verbose debug output habang tumatakbo.
PAGTATAYA
Ang module na ito ay orihinal na binuo sa at para sa Booking.com. Sa pag-apruba mula sa
Booking.com, ang module na ito ay pangkalahatan at inilagay sa CPAN, kung saan gusto ng mga may-akda
upang ipahayag ang kanilang pasasalamat.
Gumamit ng inotify-hookablep online gamit ang mga serbisyo ng onworks.net