Skip to content

pagopa/p4pa-workflow-worker

Repository files navigation

p4pa-workflow-worker

This application belong to the batch tier of the Piattaforma Unitaria product.

See PU Microservice Architecture for more details.

🧱 Role

🔎 Monitoring

See available actuator endpoints through the following path:

  • /actuator

📌 Relevant endpoints

  • Health (provide an accessToken to see details): /actuator/health
    • Liveness: /actuator/health/liveness
    • Readiness: /actuator/health/readiness
  • Metrics: /actuator/metrics
    • Prometheus: /actuator/prometheus

Further endpoints are exposed through the JMX console.

✏️ Logging

See log configured pattern.

🔗 Dependencies

🗄️ Resources

🔧 Configuration

📌 Relevant configurations

See also relevant configurations documented on pa4pa-payhub-activities.

🌐 Application Server

ENV DESCRIPTION DEFAULT
SERVER_PORT Application server listening port 8080

✏️ Logging

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

🔁 Integrations

🕒 Temporal.io
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
📥 TaskQueue poller sizes
ENV DESCRIPTION DEFAULT
WF_LOW_PRIORITY_POLLER_SIZE Poller size configured for Temporal task queue LowPriorityWF 3
WF_DP_LOW_PRIORITY_POLLER_SIZE Poller size configured for Temporal task queue DebtPositionWF 3
WF_DP_RESERVED_SYNC_POLLER_SIZE Poller size configured for Temporal task queue DebtPositionSyncWF 10
WF_DP_RESERVED_CUSTOM_SYNC_POLLER_SIZE Poller size configured for Temporal task queue DebtPositionCustomSyncWF 5
WF_IMPORT_MEDIUM_PRIORITY_POLLER_SIZE Poller size configured for Temporal task queue IngestionFlowFileWF 3
WF_EXPORT_MEDIUM_PRIORITY_POLLER_SIZE Poller size configured for Temporal task queue ExportFileWF 3
WF_CLASSIFICATION_MEDIUM_PRIORITY_POLLER_SIZE Poller size configured for Temporal task queue ClassificationWF 3
WF_SEND_RESERVED_NOTIFICATION_POLLER_SIZE Poller size configured for Temporal task queue SendNotificationProcessWF 3
WF_SEND_LOW_PRIORITY_POLLER_SIZE Poller size configured for Temporal task queue SendWF 3
WF_ASSESSMENTS_RESERVED_CREATION_POLLER_SIZE Poller size configured for Temporal task queue AssessmentCreationWF 5
WF_ASSESSMENTS_POLLER_SIZE Poller size configured for Temporal task queue AssessmentsWF 5

🔑 keys

ENV DESCRIPTION DEFAULT
JWT_TOKEN_PUBLIC_KEY p4pa-auth JWT public key

🛠️ Getting Started

📝 Prerequisites

Ensure the following tools are installed on your machine:

  1. Java 21+
  2. Gradle (or use the Gradle wrapper included in the repository)
  3. Docker (to build and run on an isolated environment, optional)
  4. GITHUB_TOKEN environment variable

🔐 Write Locks

./gradlew dependencies --write-locks

⚙️ Build

./gradlew clean build

🧪 Test

📌 JUnit

./gradlew test

🚀 Run local

./gradlew bootRun

🐳 Build & run through Docker

docker build -t <APP_NAME> .
docker run --env-file <ENV_FILE> <APP_NAME>

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors 16