Montag, 4. Februar 2013

E-Mailbenachrichtigung bei Inaktivität eines Verzeichnisses

In diesem Posting wird die Konfiguration beschrieben, um bei Inaktivität eines Verzeichnisses (keine Datei wird geschrieben) nach XX Sekunden eine E-Mailbenachrichtigung zu erhalten.

Das 1. Problem

Das Plugin "E-Mailbenachrichtigung senden" wird oft benutzt, um bei neuen oder geänderten Dateien eine Nachricht per Mail zu erhalten. Es ist aber auch möglich, eine E-Mail zu erhalten, wenn innerhalb einer konfigurierten Zeitspanne keine Datei geschrieben oder geändert wurde.
Hierzu gibt es im Reiter "Ereignisse" den Punkt "QUIET".
Das Ereignis QUIET benötigt jedoch immer ein Vergleichsereignis, gegen das die "Ruhe" verglichen werden kann. Es muss immer mind. ein 2. Ereignis angehakt werden, z. Bsp. FILENEW, wenn man eine Benachrichtigung haben möchte, wenn keine neue Datei erzeugt wurde. Oder FILECHNG, wenn man einen Benachrichtigung haben möchte, wenn keine Dateiänderung stattgefunden hat.

Das 2. Problem

Wenn auch ein weiteres Ereignis angehakt ist, erstellt das Plugin auch eine Nachricht, wenn nur dieses 2. Ereignis ausgelöst wird. Man erhält also im Falle von FILENEW auch dann E-Mails, wenn eine Datei neu erzeugt wurde - und genau das will man nicht.
 

Die Lösung

Im ersten Konfigurationsdialog der Aufgabe fügt man irgendwo im Text der Nachricht, z. Bsp. ganz am Ende, folgende Variable ein:
%WD_CONFIG%-%WD_REASON%
Diese 2 Umgebungsvariablen werden in der Nachricht ersetzt durch den Namen der Aufgabe und den Grund des Ereignisses, also z. Bsp: KeineDatei-FILENEW oder KeineDatei-FILECHNG, wenn die Aufgabe "KeineDatei" heißt.

E-Mailfilter

Speichern Sie die Aufgabe ab und wechseln Sie im WatchDirectory Control-Center in "Ansicht"-> "E-Mail"->  und klicken Sie rechts unten auf "E-Mailfilter".
Definieren Sie jetzt dort einen Filter, der den Versand der E-Mail unterdrückt, wenn im Nachrichtentext das Wort "KeineDatei-FILENEW" erscheint. Verwenden Sie natürlich den korrekten Namen Ihrer Aufgabe. Mit dieser Konfiguration erhalten Sie nur noch E-Mails, wenn tatsächlich keine neue Datei erstellt wurde.
Wenn Sie auch das Ereignis FILECHNG (Dateiänderung) einbinden möchten, aktivieren Sie das Ereignis FILECHNG in der Aufgabe und setzen Sie einen weiteren Filter mit "KeineDatei-FILECHNG".