EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

inotify-hookablep – Online in der Cloud

Führen Sie inotify-hookablep beim kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl inotify-hookablep, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


inotify-hookable – blockiert die Befehlszeilenschnittstelle für inotify

ZUSAMMENFASSUNG


Sehen Sie sich ein Verzeichnis an und teilen Sie uns mit, wenn sich darin etwas ändert:

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

Sehen Sie sich einen Git-Baum, einige Konfigurationen und ein Repository mit statischen Assets an und starten Sie den Webserver neu
oder komprimieren Sie diese Assets, wenn sich etwas ändert:

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)"

Oder schauen Sie sich bestimmte Dateien an:

inotify-hookable \
--watch-files /var/www/cgi-bin/mod_perl_handler \
--on-modify-command „apachectl restart“

BESCHREIBUNG


Dieses einfache Befehlszeilenprogramm ist mein Ersatz für die von angebotenen Funktionen
Placks Filesys::Notify::Simple. Ich habe herausgefunden, dass Plack bei sehr großen Git-Bäumen einen ausgeben würde
übermäßig viel Überwachung des Dateisystems auf Änderungen.

Dieses Programm verwendet Linux::Inotify2, sodass der Kernel es benachrichtigt sofort wenn etwas
Änderungen (eigentlich ist es so schnell, dass wir uns darum kümmern müssen, wie schnell es uns Ereignisse sendet).

Das Ergebnis ist, dass Sie dies beispielsweise in einer Bildschirmsitzung ausführen und es beobachten können
Entwicklungsumgebung und Ihr Webserver wird vor Ihrem Finger neu gestartet
Verlässt die Speichern .

Die temporären Dateien von vim und emacs werden standardmäßig ignoriert (siehe „--ignore-paths“), sodass Sie dies tun können
Bearbeiten Sie Ihre Dateien, ohne dass Ihr Server unnötig neu gestartet wird.

Derzeit ist die Befehlszeilenschnittstelle hierfür die einzige, die wirklich Sinn macht.
Dieses Modul blockiert vollständig (obwohl es wahrscheinlich in einem anderen Prozess über ausgeführt werden könnte).
POE oder so). Patches willkommen.

OPTIONAL


Beachten Sie, dass boolesche Optionen mit „--no-OPTION“ negiert werden können, z. B. „--no-r“ oder
„--no-recursive“, um die Option „--recursive“ zu deaktivieren, die standardmäßig aktiviert ist.

„-w“ or „--watch-directories“
Geben Sie dies an, um ein Verzeichnis anzusehen. Sie können dies so oft angeben, wie Sie möchten
viele Verzeichnisse.

"-F" or „--watch-files“
Sehen Sie sich eine Datei an und geben Sie sie mehrmals für mehrere Dateien an. Sie können Dateien ansehen und
Verzeichnisse im selben Befehl.

"-R" or „--rekursiv“
Wenn Sie dies angeben, wird jedes von Ihnen angegebene Verzeichnis rekursiv überwacht. Das ist vorbei
default.

"-C" or „--on-modify-command“
Ein Befehl, der ausgeführt wird, wenn etwas geändert wird.

"-C" or „--on-modify-path-command“
Ein Schlüssel-Wert-Paar, bei dem der Schlüssel ein regulärer Ausdruck ist, der mit einem geänderten Pfad abgeglichen wird, und
Der Wert ist ein Befehl, der ausgeführt wird. Ein Beispiel finden Sie in der „SYNOPSIS“.

Nützlich, um beispielsweise einen Webserver neu zu starten, wenn Sie ein Verzeichnis ändern A aber etwas komprimieren
Statische Assets, wenn Sie das Verzeichnis ändern B.

"-T" or „--buffer-time“
Linux sendet Ihnen Inotify-Ereignisse wirklich schnell, so schnell, dass, wenn Sie so etwas ausführen:

Berühren Sie die Foo-Leiste

Möglicherweise erhalten Sie eine Veranstaltung für foo in einem Batch, gefolgt von einem Ereignis für Bar später.

Um damit umzugehen, treten wir in eine Schleife ein, wenn wir beginnen, Ereignisse abzurufen, und schlafen für einen Standardwert von
100 Mikrosekunden, solange wir weiterhin Ereignisse erhalten, schlafen wir 100 Mikrosekunden lang,
Aber sobald wir nichts Neues erhalten, entlassen wir unsere Event-Handler.

"-ICH" or „--ignore-paths“
Regexes für Dateien/Verzeichnisse, für die Ereignisse ignoriert werden sollen. Standardmäßig ist dies auf „regexes for“ eingestellt
temporäre vim- und emacs-Dateien, „qr{\..*sw.\z}“ bzw. „qr{\.\#[^/]+\z}“.

Die regulären Ausdrücke stimmen nach jedem „/“ im Pfad oder am Anfang der Zeichenfolge überein.

"-D" or "--debuggen"
Geben Sie während der Ausführung eine ausführliche Debug-Ausgabe aus.

WISSEN


Dieses Modul wurde ursprünglich bei und für Booking.com entwickelt. Mit Genehmigung von
Bei Booking.com wurde dieses Modul verallgemeinert und auf CPAN gestellt, was die Autoren gerne hätten
um ihre Dankbarkeit auszudrücken.

Verwenden Sie inotify-hookablep online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad