Skip to content

Commit 622e48c

Browse files
committed
Klargjort synk-jobb for kjøring av avsluttingsfil
1 parent 4d6a53b commit 622e48c

File tree

6 files changed

+50
-35
lines changed

6 files changed

+50
-35
lines changed

jobs/arbeidssoekere-synk-jobb/nais/nais-dev.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ spec:
1212
requests:
1313
cpu: 200m
1414
memory: 256Mi
15+
env:
16+
- name: JOB_ENABLED
17+
value: "false"
1518
secureLogs:
1619
enabled: true
1720
observability:

jobs/arbeidssoekere-synk-jobb/nais/nais-prod.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ spec:
1212
requests:
1313
cpu: 200m
1414
memory: 256Mi
15+
env:
16+
- name: JOB_ENABLED
17+
value: "false"
1518
secureLogs:
1619
enabled: true
1720
observability:

jobs/arbeidssoekere-synk-jobb/src/main/kotlin/no/nav/paw/arbeidssoeker/synk/Job.kt

+35-31
Original file line numberDiff line numberDiff line change
@@ -23,44 +23,48 @@ import kotlin.system.exitProcess
2323
fun main() {
2424
val logger = buildApplicationLogger
2525

26-
try {
27-
logger.info("Initialiserer jobb")
26+
val jobConfig = loadNaisOrLocalConfiguration<JobConfig>(JOB_CONFIG)
27+
val databaseConfig = loadNaisOrLocalConfiguration<DatabaseConfig>(DATABASE_CONFIG)
28+
val azureAdM2MConfig = loadNaisOrLocalConfiguration<AzureAdM2MConfig>(AZURE_M2M_CONFIG)
2829

29-
val jobConfig = loadNaisOrLocalConfiguration<JobConfig>(JOB_CONFIG)
30-
val databaseConfig = loadNaisOrLocalConfiguration<DatabaseConfig>(DATABASE_CONFIG)
31-
val azureAdM2MConfig = loadNaisOrLocalConfiguration<AzureAdM2MConfig>(AZURE_M2M_CONFIG)
30+
with(jobConfig) {
31+
if (jobEnabled) {
32+
try {
33+
logger.info("Initialiserer jobb")
3234

33-
with(jobConfig) {
34-
val arbeidssoekerSynkRepository = ArbeidssoekerSynkRepository()
35-
val azureAdM2MTokenClient = createAzureAdM2MTokenClient(runtimeEnvironment, azureAdM2MConfig)
36-
val inngangHttpConsumer = InngangHttpConsumer(apiInngang.baseUrl) {
37-
azureAdM2MTokenClient.createMachineToMachineToken(apiInngang.scope)
38-
}
39-
val arbeidssoekerSynkService =
40-
ArbeidssoekerSynkService(jobConfig, arbeidssoekerSynkRepository, inngangHttpConsumer)
35+
val arbeidssoekerSynkRepository = ArbeidssoekerSynkRepository()
36+
val azureAdM2MTokenClient = createAzureAdM2MTokenClient(runtimeEnvironment, azureAdM2MConfig)
37+
val inngangHttpConsumer = InngangHttpConsumer(apiInngang.baseUrl) {
38+
azureAdM2MTokenClient.createMachineToMachineToken(apiInngang.scope)
39+
}
40+
val arbeidssoekerSynkService =
41+
ArbeidssoekerSynkService(jobConfig, arbeidssoekerSynkRepository, inngangHttpConsumer)
4142

42-
logger.info("Starter jobb")
43+
logger.info("Starter jobb")
4344

44-
val filePath = Paths.get(syncFilePath)
45-
logger.info("Leser CSV-fil {} fra mappe {}", filePath.name, filePath.parent)
45+
val filePath = Paths.get(syncFilePath)
46+
logger.info("Leser CSV-fil {} fra mappe {}", filePath.name, filePath.parent)
4647

47-
val rows = ArbeidssoekerCsvReader.readValues(filePath)
48-
if (rows.hasNextValue()) {
49-
val dataSource = createHikariDataSource(databaseConfig)
50-
dataSource.flywayMigrate()
51-
Database.connect(dataSource)
48+
val rows = ArbeidssoekerCsvReader.readValues(filePath)
49+
if (rows.hasNextValue()) {
50+
val dataSource = createHikariDataSource(databaseConfig)
51+
dataSource.flywayMigrate()
52+
Database.connect(dataSource)
5253

53-
arbeidssoekerSynkService.synkArbeidssoekere(filePath.name, rows)
54-
} else {
55-
logger.warn("CSV-fil {} fra mappe {} er tom", filePath.name, filePath.parent)
56-
}
54+
arbeidssoekerSynkService.synkArbeidssoekere(filePath.name, rows)
55+
} else {
56+
logger.warn("CSV-fil {} fra mappe {} er tom", filePath.name, filePath.parent)
57+
}
5758

58-
exitProcess(0)
59+
exitProcess(0)
60+
} catch (throwable: Throwable) {
61+
logger.error("Kjøring feilet", throwable)
62+
exitProcess(1)
63+
} finally {
64+
logger.info("Avslutter jobb")
65+
}
66+
} else {
67+
logger.info("Jobb er inaktivert")
5968
}
60-
} catch (throwable: Throwable) {
61-
logger.error("Kjøring feilet", throwable)
62-
exitProcess(1)
63-
} finally {
64-
logger.info("Avslutter jobb")
6569
}
6670
}

jobs/arbeidssoekere-synk-jobb/src/main/kotlin/no/nav/paw/arbeidssoeker/synk/config/JobConfig.kt

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import no.nav.paw.config.env.currentRuntimeEnvironment
77
const val JOB_CONFIG = "job_config.toml"
88

99
data class JobConfig(
10+
val jobEnabled: Boolean,
1011
val syncFilePath: String,
1112
val defaultVerdier: DefaultVerdier,
1213
val apiInngang: ApiInngangConfig,

jobs/arbeidssoekere-synk-jobb/src/main/resources/local/job_config.toml

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1+
jobEnabled = true
2+
13
syncFilePath = "/tmp/v1.csv"
24

35
[defaultVerdier]
4-
periodeTilstand = "STARTET"
6+
periodeTilstand = "STOPPET"
57
forhaandsgodkjentAvAnsatt = false
68

79
[apiInngang]

jobs/arbeidssoekere-synk-jobb/src/main/resources/nais/job_config.toml

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
syncFilePath = "/var/run/secrets/paw-arbeidssoekere-synk-jobb-csv/v1.csv"
1+
jobEnabled = "${JOB_ENABLED}"
2+
3+
syncFilePath = "/var/run/secrets/paw-arbeidssoekere-synk-jobb-csv/v2.csv"
24

35
[defaultVerdier]
4-
periodeTilstand = "STARTET"
5-
forhaandsgodkjentAvAnsatt = true
6+
periodeTilstand = "STOPPET"
7+
forhaandsgodkjentAvAnsatt = false
68

79
[apiInngang]
810
baseUrl = "http://paw-arbeidssokerregisteret-api-inngang"

0 commit comments

Comments
 (0)