Version dev

# Publisher über Hotfolder starten

Der speedata Publisher kann als »Watchdog« ein Verzeichnis beobachten, um bei Veränderungen automatisch zu starten. Ein solches Verzeichnis wird auch hotfolder genannt. Man kann Regeln angeben, was passiert, wenn eine bestimmte Datei in dieses Verzeichnis geschrieben wird.

| Der Publisher löscht die XML-Datei aus dem Verzeichnis, sobald sie verarbeitet wird.

Der Hotfolder wird wie der Publisher über die Datei `publisher.cfg` konfiguriert.

    [hotfolder]
    hotfolder = /Users/speedata/tmp/hotfolder
    events = layout\.xml:run(runpublisher);data\.xml:run(runpublisher)

Die Konfiguration besteht aus zwei Teilen: Der Eintrag `hotfolder` zeigt zum (leeren) Verzeichnis, in das die Dateien geschrieben werden. Die Einträge unter `events` folgen dem Muster:

    <Regulärer Ausdruck>:run(<Programmname>)

Mehrere Einträge werden mit Semikolon getrennt.

Im Beispiel wird, wenn eine der Dateien `layout.xml` oder `data.xml` in das Verzeichnis `/Users/speedata/tmp/hotfolder` geschrieben wird, das Programm `runpublisher` angestoßen. Das Programm `runpublisher` könnte ein Shellskript sein, das den Publisher aufruft:

    #!/bin/sh

    {
     echo "Running speedata Publisher ($1)"
     cd /Users/speedata/tmp/hotfolder
     sp
    } > /tmp/publisher.log 2> /tmp/publisher.err

In der Regel ist dies natürlich etwas umfangreicher, für einfache Anwendungen reicht dies aus. Das Programm, das in `run()` konfiguriert ist, bekommt als einziges Argument den vollen Pfad zur Datei im Hotfolder übergeben.

| Es müssen nicht nur XML-Dateien sein, auf die der Watchdog des Publishers reagiert. Es können beliebige Dateien sein, die über den Regulären Ausdruck angegeben werden.

#### Inhalt