From d4d95e741f4369094945616d0c9f7a9225dcc170 Mon Sep 17 00:00:00 2001 From: Athou Date: Sun, 19 May 2013 12:11:54 +0200 Subject: [PATCH] force feed refresh if updated more than ten minutes ago --- .../commafeed/backend/feeds/FeedRefreshTaskGiver.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/com/commafeed/backend/feeds/FeedRefreshTaskGiver.java b/src/main/java/com/commafeed/backend/feeds/FeedRefreshTaskGiver.java index 70558f38..86a1e788 100644 --- a/src/main/java/com/commafeed/backend/feeds/FeedRefreshTaskGiver.java +++ b/src/main/java/com/commafeed/backend/feeds/FeedRefreshTaskGiver.java @@ -1,6 +1,7 @@ package com.commafeed.backend.feeds; import java.util.Calendar; +import java.util.Date; import java.util.List; import java.util.Queue; @@ -10,6 +11,8 @@ import javax.ejb.LockType; import javax.ejb.Singleton; import javax.inject.Inject; +import org.apache.commons.lang3.time.DateUtils; + import com.commafeed.backend.MetricsBean; import com.commafeed.backend.dao.FeedDAO; import com.commafeed.backend.model.Feed; @@ -39,6 +42,14 @@ public class FeedRefreshTaskGiver { @Lock(LockType.WRITE) public void add(Feed feed) { + Date now = Calendar.getInstance().getTime(); + Date tenMinutesAgo = DateUtils.addMinutes(now, -10); + if (feed.getLastUpdated() == null + || feed.getLastUpdated().before(tenMinutesAgo)) { + feed.setEtagHeader(null); + feed.setLastModifiedHeader(null); + } + queue.add(feed); feed.setLastUpdated(Calendar.getInstance().getTime()); feedDAO.update(feed);