diff --git a/src/main/java/eu/openaire/urls_worker/plugins/PublicationsRetrieverPlugin.java b/src/main/java/eu/openaire/urls_worker/plugins/PublicationsRetrieverPlugin.java index d7d7424..c4af623 100644 --- a/src/main/java/eu/openaire/urls_worker/plugins/PublicationsRetrieverPlugin.java +++ b/src/main/java/eu/openaire/urls_worker/plugins/PublicationsRetrieverPlugin.java @@ -53,8 +53,13 @@ public class PublicationsRetrieverPlugin { ConnSupportUtils.shouldBlockMost5XXDomains = false; LoaderAndChecker.setCouldRetryRegex(); - PublicationsRetriever.threadsMultiplier = 10; - int workerThreadsCount = (Runtime.getRuntime().availableProcessors() * PublicationsRetriever.threadsMultiplier); + int availableProcessors = Runtime.getRuntime().availableProcessors(); + if ( availableProcessors <= 4 ) + PublicationsRetriever.threadsMultiplier = 10; + else + PublicationsRetriever.threadsMultiplier = 6; + + int workerThreadsCount = (availableProcessors * PublicationsRetriever.threadsMultiplier); logger.info("Use " + workerThreadsCount + " worker-threads."); PublicationsRetriever.executor = Executors.newFixedThreadPool(workerThreadsCount); }