diff --git a/data-workflow/v1/base-line.ini b/data-workflow/v1/base-line.ini index a7814a5..0916da8 100644 --- a/data-workflow/v1/base-line.ini +++ b/data-workflow/v1/base-line.ini @@ -45,8 +45,7 @@ file = buffer.cfg # Step 2.1 (spécifique): Lancer un calcul sur tous les items reçus -[fork/exchange] -value = self().omit('uri') +[fork/transit] # Step 2.2 (générique): Enregister le résulat et signaler que le traitment est fini [fork/delegate] diff --git a/data-workflow/v1/buffer.cfg b/data-workflow/v1/buffer.cfg index f8b16b5..b291af8 100644 --- a/data-workflow/v1/buffer.cfg +++ b/data-workflow/v1/buffer.cfg @@ -13,6 +13,9 @@ location = /tmp/upload compress = true +[debug] +text = fix('Data received by', env('generator'), 'for', env('identifier')).join(' ') + [exchange] value = get('filename') diff --git a/data-workflow/v1/charger.cfg b/data-workflow/v1/charger.cfg index 7bff09a..228af1d 100644 --- a/data-workflow/v1/charger.cfg +++ b/data-workflow/v1/charger.cfg @@ -23,5 +23,8 @@ path = identifier value = get(env('pid')).replace('uid:/', '') +[singleton/exchange] +value = self().omit([env('pid')]) + [metrics] bucket = charger diff --git a/data-workflow/v1/collect.ini b/data-workflow/v1/collect.ini new file mode 100644 index 0000000..142cc7a --- /dev/null +++ b/data-workflow/v1/collect.ini @@ -0,0 +1,36 @@ +# Entrypoint output format +mimeType = application/json + +# OpenAPI Documentation - JSON format (dot notation) +post.operationId = post-v1-collect +post.description = Récupération d'un résulat produit sous forme d'un flux json +post.summary = Les traitments étant asynchrone le résulat une fois créé doit-être récupéré par cette route +post.tags.0 = data-computer +post.responses.default.description = Fichier corpus au format tar +post.requestBody.content.application/json.example.0.value = xMkWJX7GU +post.requestBody.content.application/json.schema.$ref = #/components/schemas/JSONStream +post.requestBody.required = true +post.parameters.0.description = Indenter le JSON résultant +post.parameters.0.in = query +post.parameters.0.name = indent +post.parameters.0.schema.type = boolean + +[use] +plugin = basics + +[JSONParse] +separator = * + +[exchange] +value = get('value') + +[FILELoad] +location = /tmp/retrieve + +[TARExtract] +compress = true +path = */*.json + +[JSONString] +indent = env('indent') + diff --git a/data-workflow/v1/logger.cfg b/data-workflow/v1/logger.cfg index 6377dd9..6e44e2d 100644 --- a/data-workflow/v1/logger.cfg +++ b/data-workflow/v1/logger.cfg @@ -38,6 +38,8 @@ path = body headers = Content-Type:application/json target = result +retries = 5 +timeout = 30000 # On enregistre uniqument quelques informations (à supprimer pour avoir la trace complète) [exchange] diff --git a/data-workflow/v1/recorder.cfg b/data-workflow/v1/recorder.cfg index 7811144..d7a789c 100644 --- a/data-workflow/v1/recorder.cfg +++ b/data-workflow/v1/recorder.cfg @@ -2,6 +2,9 @@ plugin = basics plugin = analytics +[singleton] +[singleton/debug] +text = fix('One first result received by', env('generator'), 'for', env('identifier')).join(' ') [metrics] bucket = recorder @@ -25,22 +28,27 @@ # 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 = 1 +retries = 5 +timeout = 30000 # Step 2.4.3 (faculatif) : Ajouter une trace dans log [swing/debug] -text = WebHook triggered +text = fix('WebHook triggered by', env('generator'), 'for', env('identifier')).join(' ') # Step 2.5 (faculatif) : Ajouter une trace dans log [debug] -text = Process completed +text = fix('Process completed by', env('generator'), 'for', env('identifier')).join(' ')