Hotfolder
Konfiguration
Neben dem manuellen Starten von Workflows besteht die Möglichkeit, bestimmte Workflows automatisiert zu starten. Dies geschieht in Verbindung mit einem sogenannten "Hotfolder". Ein Hotfolder ist ein Ordner, der gleichsam unter Beobachtung steht: wird darin ein SIP abgelegt, erhält feeder ein Ereignis, welches mit einem Ereignis-Handler automatisiert verarbeitet werden kann.
Die Konfiguration von solchen Hotfoldern wird in der Datei <Installationsordner>\observer\config\doc_observer.yml
vorgenommen.
label_of__hotfolder:
directory_watcher:
directory: /tmp # directory to watch
glob: */** # pattern for files to watch
interval: 5.0 # interval between runs (in seconds)
stable: 2 # number of runs until a file is stable (only trigger when copying is finished)
persist: /tmp/dw_state.yml # path for persistence file
webservice:
uri: localhost:3000 # base uri for feeder
api_token: abc123 # api token for API
path:
parent: false # submit the parent path of the object { true | false (default) }
absolute: false # submit the absolute path of the object { true | false (default) }
extension: false # submit the filename with the extension { true | false (default) }
temporary_folder_path: C:/temp # once the file is stable, move it here and send this path to the workflow execution
Beispiel
Folgendes Beispiel richtet einen Hotfolder ein unter C:/beispiel
.
beispiel_hotfolder: # die Bezeichnung dieses Hotfolders lautet "beispiel_hotfolder"
directory_watcher:
directory: C:/beispiel # der Ordner, der überwacht wird
glob: '*.zip' # nur ZIP-Dateien sollen beachtet werden
interval: 5.0 # die Zeitspanne zwischen den Überprüfungen beträgt 5 Sekunden
stable: 2 # eine Datei muss 2 Intervalle unverändert bleiben, hier also 10 Sekunden
persist: C:/temp/beispiel_state.yml # Persistenzdatei (muss nicht selbst kreiert werden)
webservice:
uri: localhost:3000 # Basis-URL von feeder
api_token: abc123 # Token für die API-Authentifizierung
path:
parent: false # diese drei Angaben bestimmen, wie der Pfa
absolute: false # zum SIP im Hotfolder an den
extension: false # Workflow übermittelt werden soll
temporary_folder_path: C:/temp/sips # Pfad für temporäre Dateien
Bleibt in diesem Ordner eine ZIP-Datei 10 Sekunden lang unverändert liegen, so wird das nachfolgende Event generiert.
{
"event": {
"payload": {
"absolute": false, // Zeigt an, ob der Werte in "file_or_folder" den absoluten Pfad enthalten soll
"event_type": "File Or Folder Found", // Statischer Wert für den Typ des Ereignisses
"extension": false, // Zeigt an, ob der Wert in "file_or_folder" die Dateiendung enthalten soll
"file_or_folder": "example.zip", // Der Name der Datei oder des Ordners, der gefunden wurde, bearbeitet, abhängig von der Konfiguration der parent/absolute/extension Parameter
"parent": false, // Zeigt an, ob der Wert in "file_or_folder" den übergeordneten Ordner enthalten soll
"source": "example_hotfolder" // Der Name des Hotfolders, der das Ereignis ausgelöst hat
}
}
}