Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EY-3355 Forutsette hendelser #3692

Merged
merged 27 commits into from
Feb 7, 2024
Merged

EY-3355 Forutsette hendelser #3692

merged 27 commits into from
Feb 7, 2024

Conversation

ingleivj
Copy link
Contributor

@ingleivj ingleivj commented Feb 7, 2024

Første case: aldersovergang barnepensjon ved 20 år. Se gjerne mural lenket i jira.

Konsept:

  • legger inn schedule for jobber, angitt med en kode for hvilken jobb det er, kjøredato og behandlingsmåned
  • app poller på denne tabellen, og kjører fortløpende (plukker kun én om gangen, er jo ikke megavolum her)
  • jobb lagrer hendelser i egen database for hver enkelt sak
  • app poller her, og sender ut på kafka (throttled veldig ned)

Noe utestående, da PRen er svær nok allerede:

  • lytte på hendelser i denne appen, og oppdatere div felter
  • opprette oppgave
  • sende hendelse når oppgave er ferdigstilt
  • også markere jobb som ferdig når alt er ferdig (dvs oppgaver er ferdig)
  • generelt noe rydding, og populering, sjekk av felter i meldingene

NB! ref navikt/pensjon-etterlatte-felles#200 så er det helt greit med diskusjon rundt hva barnet skal hete :)

@ingleivj ingleivj requested a review from a team as a code owner February 7, 2024 09:28
* Det tar veldig mye tid å kjøre opp stadig nye Postgres-containere og kjøre Flyway migreringer.
* Denne extensionen kjører opp èn instans, som så gjenbrukes av de som måtte ønske det.
*/
object DatabaseExtension : BeforeAllCallback, AfterAllCallback, ExtensionContext.Store.CloseableResource {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Samme som i behandling, bare med andre tabeller i resetDb. Burde nok se på å gjøres mer gjenbrukbar, er object pga enkel tilgang til datasource fra testene men kanskje extensionen også kan injisere dette inn i testene.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Har lyst til at vi får flytta denne over i libs/etterlatte-database/textfixtures, men det med tabellnamn i resetDb er jo da ei utfordring.

@@ -6,6 +6,7 @@ enum class EventNames(val eventname: String) : EventnameHendelseType {
GRUNNLAGSVERSJONERING_EVENT_NAME("GRUNNLAGSVERSJONERING_EVENT_NAME"),
FEILA("FEILA"),
FORDELER_STATISTIKK("FORDELER:STATISTIKK"),
ALDERSOVERGANG("ALDERSOVERGANG"),
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bør nok være generisk (a la appnavnet) slik at man ikke trenger flere lyttere f.eks. for aldersovergang, og noe annet for revurdering oms pga x måneder siden dødsfall.

enum class JobbType(val beskrivelse: String) {
AO_BP18("Aldersovergang barnepensjon ved 18 år"),
AO_BP20("Aldersovergang barnepensjon ved 20 år"),
}
Copy link
Contributor Author

@ingleivj ingleivj Feb 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tenker denne utvides med kategori (aldersovergang, annet), slik at komponenten som sender ut på kafka har lett tilgang til å sette ymse props

Copy link
Contributor

@Bjodn Bjodn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

God start :)

logger.info("Hentet ${saker.size} saker for brukere født i $foedselsmaaned")

if (saker.isNotEmpty()) {
hendelseDao.opprettHendelserForSaker(jobb.id, saker, Steg.IDENTIFISERT_SAK)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Skal det ikke kjøres oppdaterJobbstatusFerdig når alle hendelser er ferdig?

Copy link
Contributor Author

@ingleivj ingleivj Feb 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lytting på hendelser er ikke påbegynt ennå, dvs jobben skal ikke ha status ferdig før alle hendelser som er knyttet til den er ferdig (på et eller annet vis - oppgave er ferdigstilt)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah var det du nevnte på standup. Jeg trodde det var for hver enkelte hendelse.

Når en jobb da inneholder mange hendelser så kan det jo gå lang tid før samtlige hendelser er plukket opp eller håndtert?
Hva er egentlig hensikten/gevinsten med å holde en overordna jobb for alle hendelsene åpen?

Copy link
Contributor Author

@ingleivj ingleivj Feb 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tenker vi kan fortsette diskusjon på zoom etter hvert, er Helge sin idé :p

Copy link
Contributor

@henrikg henrikg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ser fint ut! Vi får jo noen varianter for OMS etterhvert, men det haster jo ikke like mye som med BP.

@ingleivj ingleivj force-pushed the feature/EY-3355_ao20 branch from 2978a42 to e28861e Compare February 7, 2024 14:58
@ingleivj
Copy link
Contributor Author

ingleivj commented Feb 7, 2024

stor force-push for å korrigere ymse commits med feil i importsene som følge av #3680

@ingleivj ingleivj merged commit bd53773 into main Feb 7, 2024
@ingleivj ingleivj deleted the feature/EY-3355_ao20 branch February 7, 2024 17:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants