Dit is de opdracht inotify-hookablep die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator
PROGRAMMA:
NAAM
inotify-hookable - blokkeert de opdrachtregelinterface voor inotify
KORTE INHOUD
Bekijk een map en vertel ons wanneer er dingen in veranderen:
inotify-hookable --watch-directories /tmp/watch-this
Bekijk een git-boom, enkele configuraties en een opslagplaats met statische assets, start de webserver opnieuw op
of comprimeer die activa als er iets verandert:
inotify-haakbaar \
--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)"
Of bekijk specifieke bestanden:
inotify-haakbaar \
--watch-files /var/www/cgi-bin/mod_perl_handler \
--on-modify-command "apachectl herstart"
PRODUCTBESCHRIJVING
Dit eenvoudige opdrachtregelprogramma is mijn vervanging voor de functionaliteit die wordt geboden door
Plack's Filesys::Notify::Simple. Ik ontdekte dat Plack aan zeer grote git-bomen een
buitensporig veel kijken naar het bestandssysteem op wijzigingen.
Dit programma maakt gebruik van Linux::Inotify2, dus de kernel zal dit melden ogenblikkelijk wanneer iets
veranderingen (eigenlijk is het zo snel dat we moeten omzeilen hoe snel het ons gebeurtenissen stuurt).
Het resultaat is dat u dit bijvoorbeeld in een schermsessie kunt uitvoeren en naar uw computer kunt laten kijken
ontwikkelomgeving, en uw webserver zal al voor uw vinger opnieuw zijn opgestart
verlaat de besparen knop.
tijdelijke bestanden van vim en emacs worden standaard genegeerd (zie "--ignore-paths".), dus dat kunt u doen
bewerk uw bestanden zonder dat uw server onnodig opnieuw opstart.
Momenteel is de opdrachtregelinterface hiervoor de enige die echt zinvol is.
deze module blokkeert volledig (hoewel deze waarschijnlijk in een ander proces zou kunnen draaien via
POE of zoiets). Patches welkom.
OPTIES
Merk op dat booleaanse opties kunnen worden genegeerd met "--no-OPTION", bijvoorbeeld "--no-r" of
"--no-recursive" om de optie "--recursive" uit te schakelen, die standaard is ingeschakeld.
"-w" or "--bekijk-mappen"
Geef dit op om een map te bekijken, u kunt dit zo vaak opgeven als u wilt
veel mappen.
"-F" or "--bekijk bestanden"
Bekijk een bestand, geef meerdere keren op voor meerdere bestanden. U kunt bestanden bekijken en
mappen in dezelfde opdracht.
"-R" or "--recursief"
Als u dit opgeeft, wordt elke directory die u opgeeft, recursief bekeken. Dit is zover
standaard.
"-C" or "--bij-wijzigingsopdracht"
Een opdracht die wordt uitgevoerd als er iets wordt gewijzigd.
"-C" or "--op-pad-wijzigen-opdracht"
Een sleutel-waardepaar waarbij de sleutel een regex is die wordt vergeleken met een aangepast pad, en
de waarde is een opdracht die wordt uitgevoerd. Zie de "SYNOPSIS" voor een voorbeeld.
Handig voor bijvoorbeeld het herstarten van een webserver als u de directory wijzigt A maar wat comprimeren
statische activa als u de directory wijzigt B.
"-t" or "--buffertijd"
Linux zal je notify-gebeurtenissen sturen werkelijk snel, zo snel dat als je zoiets uitvoert:
raak de foo-balk aan
Misschien krijg je er een evenement voor foo in één batch, gevolgd door een evenement voor bars later.
Om hiermee om te gaan, komen we in een lus terecht wanneer we gebeurtenissen beginnen te ontvangen en slapen voor een standaardwaarde van
100 microseconden, zolang we gebeurtenissen blijven ontvangen, blijven we 100 microseconden slapen,
maar zodra we niets nieuws hebben ontvangen, ontslaan we onze eventhandlers.
"-IK" or "--negeer-paden"
Regexes voor bestanden/mappen waarvoor gebeurtenissen moeten worden genegeerd. Standaard is dit ingesteld op regexes voor
vim en emacs tijdelijke bestanden, respectievelijk "qr{\..*sw.\z}" en "qr{\.\#[^/]+\z}".
De regexes komen overeen na elke "/" in het pad of aan het begin van de tekenreeks.
"-D" or "--debuggen"
Sproei wat uitgebreide debug-uitvoer tijdens het uitvoeren.
ERKENNING
Deze module is oorspronkelijk ontwikkeld bij en voor Booking.com. Met goedkeuring van
Booking.com werd deze module gegeneraliseerd en op CPAN gezet, waar de auteurs graag voor zouden willen
om hun dankbaarheid te uiten.
Gebruik inotify-hookablep online met behulp van onworks.net-services