Skip to content

Commit c2d9a44

Browse files
committed
moved scheduler to batch job
1 parent 616f4c0 commit c2d9a44

6 files changed

Lines changed: 29 additions & 24 deletions

File tree

embabel-database-agent/pom.xml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,8 @@
1616
<maven.compiler.source>21</maven.compiler.source>
1717
<maven.compiler.target>21</maven.compiler.target>
1818
<jgit.version>7.3.0.202506031305-r</jgit.version>
19-
<spring.ai.version>1.1.0</spring.ai.version>
2019
</properties>
2120

22-
2321
<!-- ================ AWS Bedrock Support ================ -->
2422

2523
<dependencyManagement>
@@ -37,7 +35,6 @@
3735

3836
<dependencies>
3937

40-
4138
<dependency>
4239
<groupId>com.embabel.database</groupId>
4340
<artifactId>embabel-database-core</artifactId>
@@ -120,8 +117,6 @@
120117
<artifactId>bedrockruntime</artifactId>
121118
</dependency>
122119

123-
<!-- ================ Hugging Face =============== -->
124-
125120
<dependency>
126121
<groupId>org.eclipse.jetty</groupId>
127122
<artifactId>jetty-reactive-httpclient</artifactId>

embabel-database-batch/pom.xml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
<maven.compiler.source>21</maven.compiler.source>
1919
<maven.compiler.target>21</maven.compiler.target>
2020
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
21-
<spring.ai.version>1.1.0</spring.ai.version>
2221
</properties>
2322

2423
<dependencies>
@@ -39,7 +38,6 @@
3938
<artifactId>spring-boot-starter-batch</artifactId>
4039
</dependency>
4140

42-
4341
<dependency>
4442
<groupId>com.h2database</groupId>
4543
<artifactId>h2</artifactId>
@@ -53,7 +51,6 @@
5351
<version>2.20.1</version>
5452
</dependency>
5553

56-
5754
<dependency>
5855
<groupId>org.springframework.ai</groupId>
5956
<artifactId>spring-ai-ollama</artifactId>
@@ -91,7 +88,6 @@
9188
</dependency>
9289

9390
<!-- ================ Test Support ================ -->
94-
9591
<dependency>
9692
<groupId>org.springframework.batch</groupId>
9793
<artifactId>spring-batch-test</artifactId>

embabel-database-core/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
</dependency>
2525

2626
<!-- ================ JPA Implementation =============== -->
27-
2827
<dependency>
2928
<groupId>org.springframework.boot</groupId>
3029
<artifactId>spring-boot-starter-data-jpa</artifactId>
@@ -34,6 +33,7 @@
3433
<groupId>com.h2database</groupId>
3534
<artifactId>h2</artifactId>
3635
</dependency>
36+
<!-- ================ JPA Implementation =============== -->
3737

3838
</dependencies>
3939

@@ -77,7 +77,7 @@
7777
<executions>
7878
<execution>
7979
<id>compile</id>
80-
<phase>compile</phase>
80+
<phase>process-sources</phase>
8181
<goals><goal>compile</goal></goals>
8282
</execution>
8383
</executions>

embabel-database-server/src/main/kotlin/com/embabel/database/server/controller/ModelSuggestionController.kt

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,11 @@ import org.springframework.batch.core.JobParametersBuilder
2727
import org.springframework.batch.core.explore.JobExplorer
2828
import org.springframework.batch.core.launch.JobLauncher
2929
import org.springframework.beans.factory.annotation.Qualifier
30-
import org.springframework.beans.factory.annotation.Value
3130
import org.springframework.http.HttpStatus
3231
import org.springframework.http.ResponseEntity
3332
import org.springframework.web.bind.annotation.*
3433
import java.util.UUID
3534

36-
private const val sessionKey = "x-embabel-request-id"
37-
3835
@RestController
3936
@RequestMapping("/api/v1/models")
4037
class ModelSuggestionController(
@@ -52,6 +49,9 @@ class ModelSuggestionController(
5249

5350
private val expectedAuthId: String = UUID.randomUUID().toString()
5451

52+
private val sessionKey = "x-embabel-request-id"
53+
54+
5555
init {
5656
logger.info("Generated x-embabel-auth-id for this instance: $expectedAuthId")
5757
}
@@ -73,16 +73,13 @@ class ModelSuggestionController(
7373
.body(resultMap)
7474
} else {
7575
//new conversation
76-
// val sessionContext : SessionContext = modelSuggestionService.getProviderSuggestions(prompt)
7776
val sessionContext: SessionContext? = modelSuggestionService.getProviderSuggestions(prompt)
7877
//set the header
79-
// val resultMap = mapOf("providers" to sessionContext.providers())
8078
val resultMap = if (sessionContext != null) {
8179
mapOf("providers" to sessionContext.providers())
8280
} else {
8381
mapOf("providers" to emptyList<Any>())
8482
}
85-
8683
logger.info(resultMap.toString());
8784

8885
val sessionId = sessionContext?.sessionid() ?: ""
@@ -146,6 +143,4 @@ class ModelSuggestionController(
146143
return ResponseEntity.ok()
147144
.body(currentCountMap)
148145
}
149-
150-
151146
}

embabel-database-server/src/main/kotlin/com/embabel/database/server/service/AgentSchedulingService.kt renamed to embabel-database-server/src/main/kotlin/com/embabel/database/server/service/ModelRefresh.kt

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,38 @@
1616
package com.embabel.database.server.service
1717

1818
import org.slf4j.LoggerFactory
19+
import org.springframework.batch.core.Job
20+
import org.springframework.batch.core.JobParametersBuilder
21+
import org.springframework.batch.core.explore.JobExplorer
22+
import org.springframework.batch.core.launch.JobLauncher
23+
import org.springframework.beans.factory.annotation.Qualifier
1924
import org.springframework.context.annotation.Profile
2025
import org.springframework.scheduling.annotation.Scheduled
2126
import org.springframework.stereotype.Component
2227

2328
@Profile("scheduled")
2429
@Component
25-
class AgentSchedulingService() {
30+
class ModelRefresh(
31+
@Qualifier("asyncJobLauncher") private val jobLauncher: JobLauncher,
32+
private val jobExplorer: JobExplorer,
33+
@Qualifier("parserAgentJob") private val job: Job
34+
) {
2635

27-
private val logger = LoggerFactory.getLogger(AgentSchedulingService::class.java)
36+
private val logger = LoggerFactory.getLogger(ModelRefresh::class.java)
2837

2938
//initial delay 30 seconds to allow for startup
3039
@Scheduled(initialDelayString = "\${embabel.agent.scheduling.initial-delay-ms:30000}", fixedRateString = "\${embabel.agent.scheduling.fixed-rate-ms:86400000}") //Default is 24hrs in milliseconds
31-
fun runAgent() {
40+
fun refreshModels() {
3241
logger.info("running batch loader process id")
33-
}
42+
try {
43+
val params = JobParametersBuilder()
44+
.addLong("run.id", System.currentTimeMillis())
45+
.toJobParameters()
3446

47+
val execution = jobLauncher.run(job, params)
48+
logger.info("Started parseAgentJob with status=${execution.status}")
49+
} catch (ex: Exception) {
50+
logger.error("Failed to start refreshJob", ex)
51+
}
52+
}
3553
}

pom.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@
1515
<description>Common dependencies shared by child modules.</description>
1616

1717
<properties>
18-
<embabel.version>0.1.6</embabel.version>
18+
<embabel.version>0.1.7</embabel.version>
1919
<embabel.agent.depenedencies.version>0.3.0</embabel.agent.depenedencies.version>
2020
<mockk.version>1.13.3</mockk.version>
21+
<spring.ai.version>1.1.2</spring.ai.version>
2122
</properties>
2223

2324
<modules>

0 commit comments

Comments
 (0)