Skip to content

Commit b8ddff4

Browse files
authored
Add iexec-core-library dependency and use it (#595)
1 parent f4e45ea commit b8ddff4

21 files changed

+100
-129
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
44

55
## [[NEXT]](https://github.com/iExecBlockchainComputing/iexec-worker/releases/tag/vNEXT) 2024
66

7+
### New Features
8+
9+
- Use `iexec-core-library` in `iexec-worker`. (#595)
10+
711
### Bug fixes
812

913
- Fix `LoginServiceTests#shouldLoginOnceOnSimultaneousCalls` test. (#587)

build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ dependencies {
5252
implementation "com.iexec.blockchain:iexec-blockchain-adapter-api-library:$iexecBlockchainAdapterVersion"
5353
implementation "com.iexec.result-proxy:iexec-result-proxy-library:$iexecResultVersion"
5454
implementation "com.iexec.sms:iexec-sms-library:$iexecSmsVersion"
55+
implementation "com.iexec.core:iexec-core-library:$iexecCoreVersion"
5556

5657
// spring
5758
implementation "org.springframework.boot:spring-boot-starter"

gradle.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ iexecCommonsPocoVersion=3.2.0
55
iexecBlockchainAdapterVersion=8.4.0
66
iexecResultVersion=8.4.0
77
iexecSmsVersion=8.5.0
8+
iexecCoreVersion=8.4.1-NEXT-SNAPSHOT
89

910
nexusUser
1011
nexusPassword

src/main/java/com/iexec/worker/PingService.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2020-2023 IEXEC BLOCKCHAIN TECH
2+
* Copyright 2020-2024 IEXEC BLOCKCHAIN TECH
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -16,9 +16,9 @@
1616

1717
package com.iexec.worker;
1818

19+
import com.iexec.core.api.SchedulerClient;
1920
import com.iexec.worker.config.CoreConfigurationService;
2021
import com.iexec.worker.feign.LoginService;
21-
import com.iexec.worker.feign.client.CoreClient;
2222
import com.iexec.worker.utils.AsyncUtils;
2323
import com.iexec.worker.utils.ExecutorUtils;
2424
import com.iexec.worker.worker.WorkerService;
@@ -38,12 +38,12 @@ public class PingService {
3838
private static final int PING_RATE_IN_SECONDS = 10;
3939

4040
private final Executor executor;
41-
private final CoreClient coreClient;
41+
private final SchedulerClient coreClient;
4242
private final CoreConfigurationService coreConfigurationService;
4343
private final LoginService loginService;
4444
private final WorkerService workerService;
4545

46-
public PingService(CoreClient coreClient,
46+
public PingService(SchedulerClient coreClient,
4747
CoreConfigurationService coreConfigurationService,
4848
LoginService loginService,
4949
WorkerService workerService) {
@@ -105,8 +105,8 @@ void pingScheduler() {
105105
}
106106
if (!sessionId.equalsIgnoreCase(currentSessionId)) {
107107
// need to reconnect to the core by restarting the worker
108-
log.warn("Scheduler seems to have restarted [currentSessionId:{}, " +
109-
"coreSessionId:{}]", currentSessionId, sessionId);
108+
log.warn("Scheduler seems to have restarted [currentSessionId:{}, coreSessionId:{}]",
109+
currentSessionId, sessionId);
110110
workerService.restartGracefully();
111111
}
112112
}

src/main/java/com/iexec/worker/config/CoreConfigurationService.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2020 IEXEC BLOCKCHAIN TECH
2+
* Copyright 2020-2024 IEXEC BLOCKCHAIN TECH
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -16,7 +16,11 @@
1616

1717
package com.iexec.worker.config;
1818

19+
import com.iexec.core.api.SchedulerClient;
20+
import com.iexec.core.api.SchedulerClientBuilder;
21+
import feign.Logger;
1922
import org.springframework.beans.factory.annotation.Value;
23+
import org.springframework.context.annotation.Bean;
2024
import org.springframework.stereotype.Service;
2125

2226
import javax.annotation.PostConstruct;
@@ -67,4 +71,9 @@ public String getCoreSessionId() {
6771
public void setCoreSessionId(String coreSessionId) {
6872
this.coreSessionId = coreSessionId;
6973
}
74+
75+
@Bean
76+
SchedulerClient schedulerClient() {
77+
return SchedulerClientBuilder.getInstance(Logger.Level.FULL, url.toString());
78+
}
7079
}

src/main/java/com/iexec/worker/executor/TaskManagerService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
import com.iexec.common.result.ComputedFile;
2323
import com.iexec.commons.poco.chain.ChainReceipt;
2424
import com.iexec.commons.poco.chain.WorkerpoolAuthorization;
25-
import com.iexec.commons.poco.notification.TaskNotificationExtra;
2625
import com.iexec.commons.poco.task.TaskDescription;
26+
import com.iexec.core.notification.TaskNotificationExtra;
2727
import com.iexec.worker.chain.ContributionService;
2828
import com.iexec.worker.chain.IexecHubService;
2929
import com.iexec.worker.chain.RevealService;

src/main/java/com/iexec/worker/executor/TaskNotificationService.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@
1818

1919
import com.iexec.common.replicate.*;
2020
import com.iexec.commons.poco.chain.ChainTask;
21-
import com.iexec.commons.poco.notification.TaskNotification;
22-
import com.iexec.commons.poco.notification.TaskNotificationExtra;
23-
import com.iexec.commons.poco.notification.TaskNotificationType;
2421
import com.iexec.commons.poco.task.TaskAbortCause;
2522
import com.iexec.commons.poco.task.TaskDescription;
23+
import com.iexec.core.notification.TaskNotification;
24+
import com.iexec.core.notification.TaskNotificationExtra;
25+
import com.iexec.core.notification.TaskNotificationType;
2626
import com.iexec.worker.chain.IexecHubService;
2727
import com.iexec.worker.chain.WorkerpoolAuthorizationService;
2828
import com.iexec.worker.feign.CustomCoreFeignClient;
@@ -43,7 +43,6 @@
4343
import static com.iexec.common.replicate.ReplicateStatus.*;
4444
import static com.iexec.common.replicate.ReplicateStatusCause.TASK_DESCRIPTION_NOT_FOUND;
4545

46-
4746
@Slf4j
4847
@Service
4948
public class TaskNotificationService {

src/main/java/com/iexec/worker/feign/CustomCoreFeignClient.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@
2020
import com.iexec.common.config.WorkerModel;
2121
import com.iexec.common.replicate.ReplicateStatusUpdate;
2222
import com.iexec.common.replicate.ReplicateTaskSummary;
23-
import com.iexec.commons.poco.notification.TaskNotification;
24-
import com.iexec.commons.poco.notification.TaskNotificationType;
25-
import com.iexec.worker.feign.client.CoreClient;
23+
import com.iexec.core.api.SchedulerClient;
24+
import com.iexec.core.notification.TaskNotification;
25+
import com.iexec.core.notification.TaskNotificationType;
2626
import feign.FeignException;
2727
import lombok.extern.slf4j.Slf4j;
2828
import org.springframework.stereotype.Service;
@@ -36,9 +36,9 @@
3636
public class CustomCoreFeignClient extends BaseFeignClient {
3737

3838
private final LoginService loginService;
39-
private final CoreClient coreClient;
39+
private final SchedulerClient coreClient;
4040

41-
public CustomCoreFeignClient(CoreClient coreClient, LoginService loginService) {
41+
public CustomCoreFeignClient(SchedulerClient coreClient, LoginService loginService) {
4242
this.loginService = loginService;
4343
this.coreClient = coreClient;
4444
}

src/main/java/com/iexec/worker/feign/LoginService.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2020-2023 IEXEC BLOCKCHAIN TECH
2+
* Copyright 2020-2024 IEXEC BLOCKCHAIN TECH
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -18,8 +18,8 @@
1818

1919
import com.iexec.commons.poco.security.Signature;
2020
import com.iexec.commons.poco.utils.SignatureUtils;
21+
import com.iexec.core.api.SchedulerClient;
2122
import com.iexec.worker.chain.CredentialsService;
22-
import com.iexec.worker.feign.client.CoreClient;
2323
import feign.FeignException;
2424
import lombok.extern.slf4j.Slf4j;
2525
import org.apache.commons.lang3.StringUtils;
@@ -37,10 +37,10 @@ public class LoginService {
3737
private String jwtToken;
3838

3939
private final CredentialsService credentialsService;
40-
private final CoreClient coreClient;
40+
private final SchedulerClient coreClient;
4141
private final ReentrantLock lock = new ReentrantLock();
4242

43-
LoginService(CredentialsService credentialsService, CoreClient coreClient) {
43+
LoginService(CredentialsService credentialsService, SchedulerClient coreClient) {
4444
this.credentialsService = credentialsService;
4545
this.coreClient = coreClient;
4646
}

src/main/java/com/iexec/worker/feign/client/CoreClient.java

Lines changed: 0 additions & 77 deletions
This file was deleted.

0 commit comments

Comments
 (0)