Hotfolder
Configuration
En plus de pouvoir démarrer des workflows manuellement, il est aussi possible de démarrer certains workflows automatiquement. Cette automatisation est réalisée au travers de d'un "hotfolder". Un hotfolder est un dossier qui est "observé": si un SIP y est déposé, feeder reçoit un événement qui peut être traité de manière automatisée avec un gestionnaire d'événements
La configuration des hotfolders est réalisée dans le fichier <dossier d'installation>\observer\config\doc_observer.yml
.
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
Exemple
L'exemple suivant défini un hotfolder dans C:/example
.
example_hotfolder: # Ce hotfolder est appelé "example_hotfolder"
directory_watcher:
directory: C:/example # Le dossier qui est observé
glob: '*.zip' # Ne traiter que les fichiers ZIP
interval: 5.0 # La durrée entre deux vérification est de 5 secondes
stable: 2 # Le fichier doit être inchangés pendant 2 intervalles, ici 10 secondes
persist: C:/temp/example_state.yml # fichier de persistance (ne doit pas être créé à la main)
webservice:
uri: localhost:3000 # L'URL racine de feeder
api_token: abc123 # token pour l'authentification vers le API
path:
parent: false # ces trois spécifications déterminent comment
absolute: false # le chemin du SIP dans l'hotfolder doit
extension: false # être transmis au workflow
temporary_folder_path: C:/temp/sips # chemin pour les fichiers temporaires
Si un fichier ZIP reste inchangé dans ce dossier pendant 10 secondes, l'événement suivant est généré.
{
"event": {
"payload": {
"absolute": false, // Indique si la valeur de file_or_folder est un chemin absolu ou non
"event_type": "File Or Folder Found", // Chaîne de caractères statique du type d'évènement
"extension": false, // Indique si la valeur de file_or_folder inclut l'extension de fichier ou non
"file_or_folder": "example.zip", // Le nom/chemin réel de l'objet trouvé dans le hotfolder, étendu/tronqué sur la base des paramètres parent/absolu/extension
"parent": false, // Indique si la valeur de file_or_folder contient le dossier parent ou non
"source": "example_hotfolder" // Le nom du hotfolder qui a déclenché l'évènement
}
}
}