This application represent the data processing layer of the analytics tool related to Piattaforma Unitaria product (PU).
See PU Microservice Architecture for more details.
- To handle the transformations of data from
raw(provided by p4pa-analytics-data-ingestion) layer todmtlayer (consumer by p4pa-superset).
See OpenAPI, exposed through the following path:
/swagger-ui/index.html
GET /workflows/{workflowId}/status: To get workflow status;GET /schedules/{scheduleId}/info: To get schedule info;POST /workflow/assessments-classifications-process: To start AssessmentsClassificationsProcess WF.
401: Invalid access token provided, thus a new login is required;403: Trying to access a not authorized resource.
See available actuator endpoints through the following path:
/actuator
- Health (provide an accessToken to see details):
/actuator/health- Liveness:
/actuator/health/liveness - Readiness:
/actuator/health/readiness
- Liveness:
- Metrics:
/actuator/metrics- Prometheus:
/actuator/prometheus
- Prometheus:
Further endpoints are exposed through the JMX console.
- Postgresql
- Temporal.io
See application.yml for each configurable property.
| ENV | DESCRIPTION | DEFAULT |
|---|---|---|
| SERVER_PORT | Application server listening port | 8080 |
| ENV | DESCRIPTION | DEFAULT |
|---|---|---|
| LOG_LEVEL_ROOT | Base level | INFO |
| LOG_LEVEL_PAGOPA | Base level of custom classes | INFO |
| LOG_LEVEL_SPRING | Level applied to Spring framework | INFO |
| LOG_LEVEL_SPRING_BOOT_AVAILABILITY | To print availability events | DEBUG |
| LOGGING_LEVEL_API_REQUEST_EXCEPTION | Level applied to APIs exception | INFO |
| LOG_LEVEL_PERFORMANCE_LOG | Level applied to PerformanceLog | INFO |
| LOG_LEVEL_PERFORMANCE_LOG_API_REQUEST | Level applied to API Performance Log | INFO |
| LOG_LEVEL_PERFORMANCE_LOG_REST_INVOKE | Level applied to REST invoke Performance Log | INFO |
| ENV | DESCRIPTION | DEFAULT |
|---|---|---|
| TEMPORAL_SERVER_HOST | Temporal hostname | localhost |
| TEMPORAL_SERVER_PORT | Temporal port | 7233 |
| TEMPORAL_SERVER_ENABLE_HTTPS | To use HTTPS when invoking Temporal | false |
| TEMPORAL_SERVER_NAMESPACE | Temporal namespace | pu |
| DEFAULT_ACTIVITY_CONFIG_START_TO_CLOSE_TIMEOUT_IN_SECONDS | Default startToClose activity timeout (seconds) | 300 |
| DEFAULT_ACTIVITY_CONFIG_RETRY_INITIAL_INTERVAL_IN_MILLIS | Default initial interval to wait during retries (milliseconds) | 1000 |
| DEFAULT_ACTIVITY_CONFIG_RETRY_BACKOFF_COEFFICIENT | Default backoff coefficient used to increase the delay between retries | 1.5 |
| DEFAULT_ACTIVITY_CONFIG_RETRY_MAXIMUM_ATTEMPTS | Default maximum number of retries | 30 |
See workflow.* properties on application.yml to check configuration for each workflow.
| ENV | DESCRIPTION | DEFAULT |
|---|---|---|
| WF_DATA_PROCESSING_POLLER_SIZE | Poller size configured for Temporal task queue DataProcessingWF |
5 |
| ENV | DESCRIPTION | DEFAULT |
|---|---|---|
| SCHEDULE_ASSESSMENTS_CLASSIFICATIONS_PROCESS_CRON | Frequency of AssessmentsClassifications data processing WF (cron expression) | 0 1 * * * |
| ENV | DESCRIPTION | DEFAULT |
|---|---|---|
| JWT_TOKEN_PUBLIC_KEY | p4pa-auth JWT public key |
Ensure the following tools are installed on your machine:
- Java 21+
- Gradle (or use the Gradle wrapper included in the repository)
- Docker (to build and run on an isolated environment, optional)
./gradlew dependencies --write-locks./gradlew clean build./gradlew test./gradlew bootRundocker build -t <APP_NAME> .
docker run --env-file <ENV_FILE> <APP_NAME>./gradlew generateLicenseReport