1
1
mirror of https://github.com/MarginaliaSearch/MarginaliaSearch.git synced 2025-10-05 21:22:39 +02:00

(live-capture) Use threads instead of FJP for coordination of sampling

This commit is contained in:
Viktor Lofgren
2025-09-25 10:10:05 +02:00
parent 7795742538
commit 40600e7297

View File

@@ -23,6 +23,7 @@ import java.util.concurrent.TimeUnit;
public class DomSampleService { public class DomSampleService {
private final DomSampleDb db; private final DomSampleDb db;
private final HikariDataSource mariadbDataSource; private final HikariDataSource mariadbDataSource;
private final int sampleThreads;
private final DomainCoordinator domainCoordinator; private final DomainCoordinator domainCoordinator;
private final URI browserlessURI; private final URI browserlessURI;
@@ -33,13 +34,14 @@ public class DomSampleService {
public DomSampleService(DomSampleDb db, public DomSampleService(DomSampleDb db,
HikariDataSource mariadbDataSource, HikariDataSource mariadbDataSource,
@Named("browserless-uri") String browserlessAddress, @Named("browserless-uri") String browserlessAddress,
@Named("browserless-sample-threads") int threads, @Named("browserless-sample-threads") int sampleThreads,
DomainCoordinator domainCoordinator, DomainCoordinator domainCoordinator,
ServiceConfiguration serviceConfiguration) ServiceConfiguration serviceConfiguration)
throws URISyntaxException throws URISyntaxException
{ {
this.db = db; this.db = db;
this.mariadbDataSource = mariadbDataSource; this.mariadbDataSource = mariadbDataSource;
this.sampleThreads = sampleThreads;
this.domainCoordinator = domainCoordinator; this.domainCoordinator = domainCoordinator;
if (StringUtils.isEmpty(browserlessAddress) || serviceConfiguration.node() > 1) { if (StringUtils.isEmpty(browserlessAddress) || serviceConfiguration.node() > 1) {
@@ -59,7 +61,7 @@ public class DomSampleService {
} }
Thread.ofPlatform().daemon().start(this::mainThread); Thread.ofPlatform().daemon().start(this::mainThread);
for (int i = 0; i < threads; i++) { for (int i = 0; i < sampleThreads; i++) {
Thread.ofPlatform().daemon().start(this::samplingThread); Thread.ofPlatform().daemon().start(this::samplingThread);
} }
} }