3.5. Task Scheduler Service

Task Scheduler Service è il componente che si occupa di avviare alcuni processi eseguiti a intervalli fissi, come per esempio l»avvio delle scansioni dei siti del PA per la verifica della corrispondenza dei requisiti e la cancellazione dei risultati di scansione più vecchi.

Nell’utilizzo tramite docker-compose.yml ricordarsi di impostare nel .env la corretta variabile d’ambiente che specifica l’url del config-service da utilizzare e la password per l’autenticazione Basic Auth con il config-service:

environment:
  - confighost=${CONFIG_HOST}
  - spring.security.oauth2.client.registration.oidc.client-secret=${OIDC_CLIENT_SECRET}

Le informazioni di configurazione dei cron relativi ai workflow possono essere visualizzate all’url /tasks/workflowCronConfig.

Il codice sorgente di questo componente è disponibile su GitHub:

3.5.1. OpenAPI e Swagger UI

Una volta avviato il servizio, i servizi REST sono documentati tramite OpenAPI e consultabili all’indirizzo /swagger-ui/index.html.

Interfaccia Swagger UI all'OpenAPI del servizio

3.5.2. Dipendenze e configurazione

Questo servizio ha quattro dipendenze per funzionare:

  • il Config Service da cui prelevare i parametri per l’avvio dei nuovi flussi e la configurazione con le policy di cancellazione dei vecchi risultati

  • il Conductor Service per avviare nuovi flussi di scansioni dei siti, per prelevare la lista dei flussi terminati e per cancellare dal Conductor i flussi più vecchi

  • il Result Service per cancellare i risultati di validazione più vecchi

  • il Result Aggregator Service per cancellare i risultati di validazione aggregati più vecchi

L’indirizzo di questi servizi è configurabile nel file application.properties oppure tramite variabili d’ambiente se avviato tramite Docker.