Added separate executors
This commit is contained in:
parent
2c0525d28d
commit
d84763b754
5 changed files with 41 additions and 17 deletions
|
|
@ -10,20 +10,40 @@ import java.util.concurrent.Executors;
|
|||
@Configuration
|
||||
public class ExecutorsConfig {
|
||||
|
||||
@Bean(destroyMethod = "shutdown")
|
||||
public ExecutorService pipelineExecutorService() {
|
||||
@Bean(name = "npPipelineExecutorService",
|
||||
destroyMethod = "shutdown")
|
||||
public ExecutorService npPipelineExecutorService() {
|
||||
return Executors.newFixedThreadPool(15, r -> {
|
||||
Thread t = new Thread(r);
|
||||
t.setName("pipe-starter-%d".formatted(t.threadId()));
|
||||
t.setName("np-pipe-starter-%d".formatted(t.threadId()));
|
||||
return t;
|
||||
});
|
||||
}
|
||||
|
||||
@Bean
|
||||
public ExecutorService saverExecutorService(CreditTrackerSettings creditTrackerSettings) {
|
||||
@Bean(name = "lpPipelineExecutorService",
|
||||
destroyMethod = "shutdown")
|
||||
public ExecutorService lpPipelineExecutorService() {
|
||||
return Executors.newFixedThreadPool(15, r -> {
|
||||
Thread t = new Thread(r);
|
||||
t.setName("lp-pipe-starter-%d".formatted(t.threadId()));
|
||||
return t;
|
||||
});
|
||||
}
|
||||
|
||||
@Bean("npSaverExecutorService")
|
||||
public ExecutorService npSaverExecutorService(CreditTrackerSettings creditTrackerSettings) {
|
||||
return Executors.newFixedThreadPool(creditTrackerSettings.getNpPipeline().parallelRequests(), r -> {
|
||||
Thread t = new Thread(r);
|
||||
t.setName("subject-saver-%d".formatted(t.threadId()));
|
||||
t.setName("np-subject-saver-%d".formatted(t.threadId()));
|
||||
return t;
|
||||
});
|
||||
}
|
||||
|
||||
@Bean("lpSaverExecutorService")
|
||||
public ExecutorService lpSaverExecutorService(CreditTrackerSettings creditTrackerSettings) {
|
||||
return Executors.newFixedThreadPool(creditTrackerSettings.getNpPipeline().parallelRequests(), r -> {
|
||||
Thread t = new Thread(r);
|
||||
t.setName("lp-subject-saver-%d".formatted(t.threadId()));
|
||||
return t;
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package ru.nbch.credit_tracker.service.task;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
|
||||
import ru.nbch.credit_tracker.config.settings.PipelineSettings;
|
||||
|
|
@ -12,10 +13,10 @@ public class LpPipelinePackageOrchestrator extends PackageOrchestrator {
|
|||
private final CreditTrackerSettings creditTrackerSettings;
|
||||
|
||||
public LpPipelinePackageOrchestrator(CreditTrackerSettings creditTrackerSettings,
|
||||
UserPackageMapper userPackageMapper, // TODO
|
||||
ExecutorService pipelineExecutorService, // TODO
|
||||
ExecutorService saverExecutorService) { // TODO
|
||||
super(userPackageMapper, pipelineExecutorService, saverExecutorService);
|
||||
UserPackageMapper userPackageMapper,
|
||||
@Qualifier("lpPipelineExecutorService") ExecutorService lpPipelineExecutorService,
|
||||
@Qualifier("lpSaverExecutorService") ExecutorService lpSaverExecutorService) {
|
||||
super(userPackageMapper, lpPipelineExecutorService, lpSaverExecutorService);
|
||||
this.creditTrackerSettings = creditTrackerSettings;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package ru.nbch.credit_tracker.service.task;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
|
||||
import ru.nbch.credit_tracker.config.settings.PipelineSettings;
|
||||
|
|
@ -12,8 +13,8 @@ public class LpPipelineRecalcOrchestrator extends RecalcOrchestrator{
|
|||
private final CreditTrackerSettings creditTrackerSettings;
|
||||
|
||||
public LpPipelineRecalcOrchestrator(CreditTrackerSettings creditTrackerSettings,
|
||||
ExecutorService pipelineExecutorService) { // TODO another executor
|
||||
super(pipelineExecutorService);
|
||||
@Qualifier("lpPipelineExecutorService") ExecutorService lpPipelineExecutorService) {
|
||||
super(lpPipelineExecutorService);
|
||||
this.creditTrackerSettings = creditTrackerSettings;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package ru.nbch.credit_tracker.service.task;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
|
||||
import ru.nbch.credit_tracker.config.settings.PipelineSettings;
|
||||
|
|
@ -13,9 +14,9 @@ public class NpPipelinePackageOrchestrator extends PackageOrchestrator {
|
|||
|
||||
public NpPipelinePackageOrchestrator(CreditTrackerSettings creditTrackerSettings,
|
||||
UserPackageMapper userPackageMapper,
|
||||
ExecutorService pipelineExecutorService,
|
||||
ExecutorService saverExecutorService) {
|
||||
super(userPackageMapper, pipelineExecutorService, saverExecutorService);
|
||||
@Qualifier("npPipelineExecutorService") ExecutorService npPipelineExecutorService,
|
||||
@Qualifier("npSaverExecutorService") ExecutorService npSaverExecutorService) {
|
||||
super(userPackageMapper, npPipelineExecutorService, npSaverExecutorService);
|
||||
this.creditTrackerSettings = creditTrackerSettings;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package ru.nbch.credit_tracker.service.task;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
|
||||
import ru.nbch.credit_tracker.config.settings.PipelineSettings;
|
||||
|
|
@ -11,8 +12,8 @@ public class NpPipelineRecalcOrchestrator extends RecalcOrchestrator {
|
|||
|
||||
private final CreditTrackerSettings creditTrackerSettings;
|
||||
public NpPipelineRecalcOrchestrator(CreditTrackerSettings creditTrackerSettings,
|
||||
ExecutorService pipelineExecutorService) {
|
||||
super(pipelineExecutorService);
|
||||
@Qualifier("npPipelineExecutorService")ExecutorService npPipelineExecutorService) {
|
||||
super(npPipelineExecutorService);
|
||||
this.creditTrackerSettings = creditTrackerSettings;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue