Skip to content

Commit 9c1c643

Browse files
committed
wip
1 parent 8c813f5 commit 9c1c643

File tree

9 files changed

+534
-424
lines changed

9 files changed

+534
-424
lines changed

webapp/src/main/java/com/box/l10n/mojito/quartz/multi/QuartzMultiSchedulerConfig.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public class QuartzMultiSchedulerConfig {
3939

4040
@PostConstruct
4141
public void createSchedulers() {
42+
logger.error("Create quartz schedulers");
4243

4344
for (Map.Entry<String, SchedulerConfigurationProperties> entry :
4445
quartzMultiSchedulerConfigurationProperties.getSchedulers().entrySet()) {

webapp/src/main/java/com/box/l10n/mojito/quartz/multi/QuartzMultiSchedulerConfigurationProperties.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ public class QuartzMultiSchedulerConfigurationProperties {
1515

1616
Map<String, SchedulerConfigurationProperties> schedulers;
1717

18-
List<SchedulerConfigurationProperties> schedulerConfigurationProperties = new ArrayList<>();
19-
2018
public Map<String, SchedulerConfigurationProperties> getSchedulers() {
2119
return schedulers;
2220
}

webapp/src/main/java/com/box/l10n/mojito/rest/textunit/AiTranslateWS.java

Lines changed: 18 additions & 380 deletions
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
package com.box.l10n.mojito.rest.textunit;
1+
package com.box.l10n.mojito.service.oaitranslate;
22

33
import com.box.l10n.mojito.json.ObjectMapper;
44
import com.box.l10n.mojito.openai.OpenAIClient;
5+
import java.time.Duration;
56
import org.springframework.beans.factory.annotation.Qualifier;
67
import org.springframework.context.annotation.Bean;
78
import org.springframework.context.annotation.Configuration;
9+
import reactor.util.retry.Retry;
10+
import reactor.util.retry.RetryBackoffSpec;
811

912
@Configuration
1013
public class AiTranslateConfig {
@@ -16,18 +19,24 @@ public AiTranslateConfig(AiTranslateConfigurationProperties aiTranslateConfigura
1619
}
1720

1821
@Bean
19-
@Qualifier("AiTranslateWS")
22+
@Qualifier("AiTranslate")
2023
OpenAIClient openAIClient() {
2124
return new OpenAIClient.Builder()
2225
.apiKey(aiTranslateConfigurationProperties.getOpenaiClientToken())
2326
.build();
2427
}
2528

2629
@Bean
27-
@Qualifier("AiTranslateWS")
30+
@Qualifier("AiTranslate")
2831
ObjectMapper objectMapper() {
2932
ObjectMapper objectMapper = new ObjectMapper();
30-
AiTranslateWS.configureObjectMapper(objectMapper);
33+
AiTranslateService.configureObjectMapper(objectMapper);
3134
return objectMapper;
3235
}
36+
37+
@Bean
38+
@Qualifier("AiTranslate")
39+
RetryBackoffSpec retryBackoffSpec() {
40+
return Retry.backoff(5, Duration.ofMillis(500)).maxBackoff(Duration.ofSeconds(5));
41+
}
3342
}

webapp/src/main/java/com/box/l10n/mojito/rest/textunit/AiTranslateConfigurationProperties.java renamed to webapp/src/main/java/com/box/l10n/mojito/service/oaitranslate/AiTranslateConfigurationProperties.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.box.l10n.mojito.rest.textunit;
1+
package com.box.l10n.mojito.service.oaitranslate;
22

33
import org.springframework.boot.context.properties.ConfigurationProperties;
44
import org.springframework.stereotype.Component;
@@ -7,6 +7,7 @@
77
@ConfigurationProperties("l10n.ai-translate")
88
public class AiTranslateConfigurationProperties {
99
String openaiClientToken;
10+
String schedulerName = "default";
1011

1112
public String getOpenaiClientToken() {
1213
return openaiClientToken;
@@ -15,4 +16,12 @@ public String getOpenaiClientToken() {
1516
public void setOpenaiClientToken(String openaiClientToken) {
1617
this.openaiClientToken = openaiClientToken;
1718
}
19+
20+
public String getSchedulerName() {
21+
return schedulerName;
22+
}
23+
24+
public void setSchedulerName(String schedulerName) {
25+
this.schedulerName = schedulerName;
26+
}
1827
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package com.box.l10n.mojito.service.oaitranslate;
2+
3+
import static com.box.l10n.mojito.service.oaitranslate.AiTranslateJob.*;
4+
5+
import com.box.l10n.mojito.quartz.QuartzPollableJob;
6+
import org.slf4j.Logger;
7+
import org.slf4j.LoggerFactory;
8+
import org.springframework.beans.factory.annotation.Autowired;
9+
import org.springframework.stereotype.Component;
10+
11+
/**
12+
* Class to process a batch of strings for machine translation against a set of target languages.
13+
*
14+
* @author garion
15+
*/
16+
@Component
17+
public class AiTranslateJob extends QuartzPollableJob<AiTranslateJobInput, Void> {
18+
19+
static Logger logger = LoggerFactory.getLogger(AiTranslateJob.class);
20+
21+
@Autowired AiTranslateService aiTranslateService;
22+
23+
@Override
24+
public Void call(AiTranslateJobInput aiTranslateJobInput) throws Exception {
25+
logger.debug(
26+
"Start AiTranslateJob with repository id: {}", aiTranslateJobInput.repositoryId());
27+
aiTranslateService.aiTranslate(aiTranslateJobInput.repositoryId());
28+
return null;
29+
}
30+
31+
public record AiTranslateJobInput(long repositoryId) {}
32+
}

0 commit comments

Comments
 (0)