first clean entries then clean feeds

This commit is contained in:
Athou
2014-03-21 11:28:51 +01:00
parent 043b1df585
commit 2db9224ffc
3 changed files with 35 additions and 15 deletions

View File

@@ -16,6 +16,7 @@ import com.commafeed.backend.dao.FeedEntryDAO;
import com.commafeed.backend.dao.FeedEntryStatusDAO;
import com.commafeed.backend.dao.FeedSubscriptionDAO;
import com.commafeed.backend.model.Feed;
import com.commafeed.backend.model.FeedEntry;
import com.commafeed.backend.model.FeedEntryStatus;
import com.commafeed.backend.model.FeedSubscription;
@@ -45,14 +46,27 @@ public class DatabaseCleaningService {
@Inject
ApplicationSettingsService applicationSettingsService;
public long cleanEntriesWithoutSubscriptions() {
log.info("cleaning entries without subscriptions");
long total = 0;
int deleted = 0;
do {
List<FeedEntry> entries = feedEntryDAO.findWithoutSubscriptions(BATCH_SIZE);
deleted = feedEntryDAO.delete(entries);
total += deleted;
log.info("removed {} entries without subscriptions", total);
} while (deleted != 0);
log.info("cleanup done: {} entries without subscriptions deleted", total);
return total;
}
public long cleanFeedsWithoutSubscriptions() {
log.info("cleaning feeds without subscriptions");
long total = 0;
int deleted = 0;
do {
List<Feed> feeds = feedDAO.findWithoutSubscriptions(1);
cleanEntriesForFeedsWithoutSubscriptions(feeds);
List<Feed> feeds = feedDAO.findWithoutSubscriptions(BATCH_SIZE);
deleted = feedDAO.delete(feeds);
total += deleted;
log.info("removed {} feeds without subscriptions", total);
@@ -61,19 +75,6 @@ public class DatabaseCleaningService {
return total;
}
private long cleanEntriesForFeedsWithoutSubscriptions(List<Feed> feeds) {
long total = 0;
for (Feed feed : feeds) {
int deleted = 0;
do {
deleted = feedEntryDAO.delete(feed, BATCH_SIZE);
total += deleted;
log.info("removed {} entries for feed {}", total, feed.getId());
} while (deleted != 0);
}
return total;
}
public long cleanContentsWithoutEntries() {
log.info("cleaning contents without entries");
long total = 0;