Processi asincroni (job)
In questa pagina viene fatta una breve descrizione delle API per la gestione dei Jobs (processi asincroni)
Last updated
In questa pagina viene fatta una breve descrizione delle API per la gestione dei Jobs (processi asincroni)
Last updated
Documentazione Opencity Italia
La piattaforma consente la possibilità da parte di sistemi esterni di creare/modificare/visualizzare ed eliminare oggetti Job
Ad esempio nel nostro ambiente di demo è possibile consultare le API dedicate a questo scopo:
https://servizi.comune-qa.bugliano.pi.it/lang/api/doc#jobs
Questi speciali oggetti sono dei processi onerosi che vengono creati e poi eseguiti in modo asincrono dalla piattaforma.
Esempio di interazione tra un sistema esterno e le API dei jobs:
In fase di creazione del Job viene specificato tramite il parametro type il tipo di processo (type) che verrà eseguito dal sistema.
In base al tipo di processo creato i parametri attachment e args possono cambiare. Attualmente l'unico processo disponibile è import_dovuti
Per poter creare un Job bisogna eseguire una chiamata POST all' endpoint api/jobs
Il payload per la creazione di un Job è così composto
Dove:
attachment -> è il file in base64 che verrà processato
type -> è il tipo di processo che deve essere eseguito
args -> sono dei parametri necessari al tipo di processo
L' API rispondere con un codice HTTP 201
e con l'id del Job creato
Per poter recuperare informazioni su Job bisogna eseguire una chiamata GET all' endpoint api/jobs/{id}
Il payload di risposta delle API è così composto:
Dove:
status -> è lo stato attuale del job e può assumere i seguenti valori pending, cancelled, running, finished, failed
output -> l'output finale del processo, può contenere un errore in caso di processo failed
running_output -> l'output corrente (Es. la riga del file che si sta processando)
Uno degli utilizzi più significativi che si può fare con i Job è l'importazione di contenuti come ad esempio l'importazione dei dovuti