From 0da3ce1bc54bd23c2bd1a15c7d4f3df34585ede2 Mon Sep 17 00:00:00 2001 From: Athou Date: Mon, 15 Apr 2013 10:50:25 +0200 Subject: [PATCH] scale based on number of background threads --- .../com/commafeed/backend/feeds/FeedRefreshTaskGiver.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/commafeed/backend/feeds/FeedRefreshTaskGiver.java b/src/main/java/com/commafeed/backend/feeds/FeedRefreshTaskGiver.java index 96272cb8..832b7f19 100644 --- a/src/main/java/com/commafeed/backend/feeds/FeedRefreshTaskGiver.java +++ b/src/main/java/com/commafeed/backend/feeds/FeedRefreshTaskGiver.java @@ -11,6 +11,7 @@ import javax.inject.Inject; import com.commafeed.backend.dao.FeedDAO; import com.commafeed.backend.model.Feed; +import com.commafeed.backend.services.ApplicationSettingsService; import com.google.common.collect.Lists; @Singleton @@ -19,12 +20,17 @@ public class FeedRefreshTaskGiver { @Inject FeedDAO feedDAO; + @Inject + ApplicationSettingsService applicationSettingsService; + private Queue queue = Lists.newLinkedList(); @Lock(LockType.WRITE) public Feed take() { if (queue.peek() == null) { - List feeds = feedDAO.findNextUpdatable(30); + List feeds = feedDAO + .findNextUpdatable(30 * applicationSettingsService.get() + .getBackgroundThreads()); for (Feed feed : feeds) { queue.add(feed); feed.setLastUpdated(Calendar.getInstance().getTime());