added feeds cleanup method

This commit is contained in:
Athou
2013-06-19 17:01:28 +02:00
parent 01fde2fc16
commit 285baaafb7
4 changed files with 48 additions and 5 deletions

View File

@@ -8,16 +8,33 @@ import javax.inject.Inject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.commafeed.backend.dao.FeedDAO;
import com.commafeed.backend.dao.FeedEntryDAO;
public class DatabaseCleaner {
private static Logger log = LoggerFactory.getLogger(DatabaseCleaner.class);
@Inject
FeedDAO feedDAO;
@Inject
FeedEntryDAO feedEntryDAO;
public long cleanOlderThan(long value, TimeUnit unit) {
public long cleanFeedsWithoutSubscriptions() {
long total = 0;
int deleted = -1;
do {
deleted = feedDAO.deleteWithoutSubscriptions(100);
total += deleted;
log.info("removed {} feeds without subscriptions", total);
} while (deleted != 0);
log.info("cleanup done: {} feeds without subscriptions deleted", total);
return total;
}
public long cleanEntriesOlderThan(long value, TimeUnit unit) {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MINUTE, -1 * (int) unit.toMinutes(value));