Newer
Older
web-services / data-workflow / v1 / recorder.cfg
@Nicolas Thouvenin Nicolas Thouvenin on 20 Dec 1 KB workflow like copmputer
[use]
plugin = basics
plugin = analytics

[singleton]
[singleton/debug]
text = fix('One first result received by', env('generator'), 'for', env('identifier')).join(' ')
[metrics]
bucket = recorder

# Step 2.2 (générique): Création d'un fichier résulat standard
[TARDump]
compress = true
manifest = fix({version: '1'})
manifest = fix({identifier: env('identifier')})
manifest = fix({generator: env('generator')})

# Step 2.3 (générique): Sauvegarder sur disque le résulat
[FILESave]
location = /tmp/retrieve
identifier = env('identifier')
jsonl = false
compress = false

# Step 2.4 (générique): Signaler le fin du traitement via un appel à un webhook (si il a été précisé)
[swing]
test = env('headers.x-webhook-success').startsWith('http')

# Step 2.4.1 (générique): Séléctionner les informations à envoyer au webhook
[swing/replace]
path = url
value = env('headers.x-webhook-success')
path = body
value = self().pick(['size', 'atime', 'mtime', 'ctime']).set('identifier', env('identifier')).set('generator', env('generator')).set('state', 'ready')

[swing/debug]
text = fix('Result generated by', env('generator'), 'for', env('identifier')).join(' ')
# Step 2.4.2 (générique): Envoyer la requète HTTP
[swing/URLFetch]
url = env('headers.x-webhook-success').trim()
path = body
headers = Content-Type:application/json
retries = 5
timeout = 30000

# Step 2.4.3 (faculatif) : Ajouter une trace dans log
[swing/debug]
text = fix('WebHook triggered by', env('generator'), 'for', env('identifier')).join(' ')

# Step 2.5 (faculatif) : Ajouter une trace dans log
[debug]
text = fix('Process completed by', env('generator'), 'for', env('identifier')).join(' ')