Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Baggrundsjobbet kaldes når der skal sendes notificationer til personer omkring påmindelser om organdonation. For nuværende er det notifikationer til personer, der snart bliver 18 år.

Kommando til kald af notifikationer:

Code Block
languagebash
titleKommando
curl <server>/odr-operations/odr-send-digitalpost-notification/start

Et job arbejder sig gennem datoer. Fra en given start dato og maksimalt indtil dags dato for jobbets udførsel. Når jobbet startes, hentes de personer frem, som skal have tilsendt en notifikation for en given dag. Først når alle personer har fået tilsendt en notifikation fortsættes til næste dag.

Ved at kalde jobbets status endpoint kan det ses, hvilken dato, der senest er kørt færdig, ligesom man kan se en tæller for de enkelte status for de nuværende notifkationer, der arbejdes på.


Hvis der ligger notifikationer i NotificationPerson, med status Error, skal problemerne bag disse løses. Når de problemet er løst, sættes status i databasen tilbage til Pending og jobbet startet igen. 

Ligger der vedvarende de samme notifikationer i NotificationPerson med status InProgress eller Sent  skal disse også manuelt håndteres. Igen ved at sætte status status til Pending, så jobbet tager fra i dem på nu.

Eksempel på sql, der kan opdatere NotificationPerson:

  • find de relevante records: select NotificationPersonPID, ErrorMessage from NotificationPerson where status = "Error";
  • opdater med ny status: update NotificationPerson set status = "Pending" where NotificationPersonPID = <id> and status = "Error";
  • Tilsvarende kan de andre status findes: InProgress Sent. 


Ligger der vedvarende den samme record i NotificationAge med status Locked tyder noget på at jobbet er gået i stå. Sørg for at ingen notifications job kører, og undersøg tilstanden i tabel NotificationPerson for at finde ud af, hvor langt kørslen er nået og ryd op tilsvarende.


For yderligere detaljer se design og arkitektur dokumentet. 

Parametre

Følgende parametre til styring af OrganDonorNotification kan ændres i operations.properties for ODR:

...

Der er følgende status og alarm check i notifikations jobbet

HealthindicatorUdførsel/resultatStatusIndicator tekstAlarmIndicator tekstKonfiguration (property)

DBHealthIndicator

Udførsel

Kalder databasen med "select 1"

Kalder databasen med "select 1"datasource.odr.jndi-name=java:jboss/datasources/ODR-DS

Status 200

{"Database":"OK"}


Status 500

{"Database":"Unavailable"}

Der er ingen forbindelse til databasen med JNDI navnet <jndi>
StackedOperationsService
(organDonorNotificationService)

Udførsel


Tjekker om den seneste kørsel af jobbet afsluttede med success

Status 200



Status 500


Baggrundsjobbet StackedOperationsService fejlede sidst det blev kørt. Problemet var: <exception>.
NewestNotificationHealthIndicator

Udførsel

Henter den nyeste record fra tabel NotificationDate med status Completed

Tjekker om den seneste Completed record i NotificationDate ligger tidligere end det er tilladt at komme bagud.digitalpost.notification.odr.alarm.date.period=P3D

Status 200

{"Nyeste færdigbehandlede dato":"Ingen"} eller

{"Nyeste færdigbehandlede dato":"<dato>"}



Status 500

na - svarer altid 200

Der er ikke færdigbehandlet en dato den: <dato>. Den er ældre end <dage> dage gammel.
StatusNotificationHealthIndicator

Udførsel

For hver status type hentes antal records fra tabel NotificationPerson

For hver status type (undtagen Completed) hentes antal records fra tabel NotificationPerson. Hvis dette antal  er større end 0 og den seneste Completed record i NotificationDate ligger tidligere end det er tilladt at komme bagud.

digitalpost.notification.odr.alarm.date.period=P3D

Status 200

{"Antal i NotificationPerson med status <status>":"<antal>"}


Status 500

na - svarer altid 200

Der ligger <antal> notifikationer fra den <dato> med status <status>.
ErrorNotificationHealthIndicator

Udførsel


Tjekker om der ligger records i tabel NotificationPerson, som har status Error.

Status 200


 

Status 500


Der ligger totalt <antal> notifikationer med status Error.
PersonInformationHealthIndicator

Udførsel


Tjekker antal fejl inden for en given periode ikke overstiger maks

personinformation.error.tolerance=0

personinformation.errorcount.duration=PT10M

Status 200



Status 500


Person Information servicen har fejlet flere gange end tilladt i en given periode.
DigitalPostHealthIndicator

Udførsel


Tjekker antal fejl inden for en given periode ikke overstiger maks

digitalpost.error.tolerance=0

digitalpost.errorcount.duration=PT10M

Status 200



Status 500


Digital Post Adapter servicen har fejlet flere gange end tilladt i en given periode.


Backup

Servicen indeholder ikke nogen backup-mekanismer, og dette skal derfor konfigureres på database-niveau. Der bør foretages backup af data på en forsvarlig måde, i tilfælde af behov for en genetablering af data. Disse data skal opbevares på en forsvarlig måde, jfr. regler om personhenførbare data.