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
|
@Configuration
|
||||||
public class ExecutorsConfig {
|
public class ExecutorsConfig {
|
||||||
|
|
||||||
@Bean(destroyMethod = "shutdown")
|
@Bean(name = "npPipelineExecutorService",
|
||||||
public ExecutorService pipelineExecutorService() {
|
destroyMethod = "shutdown")
|
||||||
|
public ExecutorService npPipelineExecutorService() {
|
||||||
return Executors.newFixedThreadPool(15, r -> {
|
return Executors.newFixedThreadPool(15, r -> {
|
||||||
Thread t = new Thread(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;
|
return t;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean(name = "lpPipelineExecutorService",
|
||||||
public ExecutorService saverExecutorService(CreditTrackerSettings creditTrackerSettings) {
|
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 -> {
|
return Executors.newFixedThreadPool(creditTrackerSettings.getNpPipeline().parallelRequests(), r -> {
|
||||||
Thread t = new Thread(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;
|
return t;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package ru.nbch.credit_tracker.service.task;
|
package ru.nbch.credit_tracker.service.task;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
|
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
|
||||||
import ru.nbch.credit_tracker.config.settings.PipelineSettings;
|
import ru.nbch.credit_tracker.config.settings.PipelineSettings;
|
||||||
|
|
@ -12,10 +13,10 @@ public class LpPipelinePackageOrchestrator extends PackageOrchestrator {
|
||||||
private final CreditTrackerSettings creditTrackerSettings;
|
private final CreditTrackerSettings creditTrackerSettings;
|
||||||
|
|
||||||
public LpPipelinePackageOrchestrator(CreditTrackerSettings creditTrackerSettings,
|
public LpPipelinePackageOrchestrator(CreditTrackerSettings creditTrackerSettings,
|
||||||
UserPackageMapper userPackageMapper, // TODO
|
UserPackageMapper userPackageMapper,
|
||||||
ExecutorService pipelineExecutorService, // TODO
|
@Qualifier("lpPipelineExecutorService") ExecutorService lpPipelineExecutorService,
|
||||||
ExecutorService saverExecutorService) { // TODO
|
@Qualifier("lpSaverExecutorService") ExecutorService lpSaverExecutorService) {
|
||||||
super(userPackageMapper, pipelineExecutorService, saverExecutorService);
|
super(userPackageMapper, lpPipelineExecutorService, lpSaverExecutorService);
|
||||||
this.creditTrackerSettings = creditTrackerSettings;
|
this.creditTrackerSettings = creditTrackerSettings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package ru.nbch.credit_tracker.service.task;
|
package ru.nbch.credit_tracker.service.task;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
|
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
|
||||||
import ru.nbch.credit_tracker.config.settings.PipelineSettings;
|
import ru.nbch.credit_tracker.config.settings.PipelineSettings;
|
||||||
|
|
@ -12,8 +13,8 @@ public class LpPipelineRecalcOrchestrator extends RecalcOrchestrator{
|
||||||
private final CreditTrackerSettings creditTrackerSettings;
|
private final CreditTrackerSettings creditTrackerSettings;
|
||||||
|
|
||||||
public LpPipelineRecalcOrchestrator(CreditTrackerSettings creditTrackerSettings,
|
public LpPipelineRecalcOrchestrator(CreditTrackerSettings creditTrackerSettings,
|
||||||
ExecutorService pipelineExecutorService) { // TODO another executor
|
@Qualifier("lpPipelineExecutorService") ExecutorService lpPipelineExecutorService) {
|
||||||
super(pipelineExecutorService);
|
super(lpPipelineExecutorService);
|
||||||
this.creditTrackerSettings = creditTrackerSettings;
|
this.creditTrackerSettings = creditTrackerSettings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package ru.nbch.credit_tracker.service.task;
|
package ru.nbch.credit_tracker.service.task;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
|
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
|
||||||
import ru.nbch.credit_tracker.config.settings.PipelineSettings;
|
import ru.nbch.credit_tracker.config.settings.PipelineSettings;
|
||||||
|
|
@ -13,9 +14,9 @@ public class NpPipelinePackageOrchestrator extends PackageOrchestrator {
|
||||||
|
|
||||||
public NpPipelinePackageOrchestrator(CreditTrackerSettings creditTrackerSettings,
|
public NpPipelinePackageOrchestrator(CreditTrackerSettings creditTrackerSettings,
|
||||||
UserPackageMapper userPackageMapper,
|
UserPackageMapper userPackageMapper,
|
||||||
ExecutorService pipelineExecutorService,
|
@Qualifier("npPipelineExecutorService") ExecutorService npPipelineExecutorService,
|
||||||
ExecutorService saverExecutorService) {
|
@Qualifier("npSaverExecutorService") ExecutorService npSaverExecutorService) {
|
||||||
super(userPackageMapper, pipelineExecutorService, saverExecutorService);
|
super(userPackageMapper, npPipelineExecutorService, npSaverExecutorService);
|
||||||
this.creditTrackerSettings = creditTrackerSettings;
|
this.creditTrackerSettings = creditTrackerSettings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package ru.nbch.credit_tracker.service.task;
|
package ru.nbch.credit_tracker.service.task;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
|
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
|
||||||
import ru.nbch.credit_tracker.config.settings.PipelineSettings;
|
import ru.nbch.credit_tracker.config.settings.PipelineSettings;
|
||||||
|
|
@ -11,8 +12,8 @@ public class NpPipelineRecalcOrchestrator extends RecalcOrchestrator {
|
||||||
|
|
||||||
private final CreditTrackerSettings creditTrackerSettings;
|
private final CreditTrackerSettings creditTrackerSettings;
|
||||||
public NpPipelineRecalcOrchestrator(CreditTrackerSettings creditTrackerSettings,
|
public NpPipelineRecalcOrchestrator(CreditTrackerSettings creditTrackerSettings,
|
||||||
ExecutorService pipelineExecutorService) {
|
@Qualifier("npPipelineExecutorService")ExecutorService npPipelineExecutorService) {
|
||||||
super(pipelineExecutorService);
|
super(npPipelineExecutorService);
|
||||||
this.creditTrackerSettings = creditTrackerSettings;
|
this.creditTrackerSettings = creditTrackerSettings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue