diff --git a/apps/reader/models.py b/apps/reader/models.py index 529630fad..588276715 100644 --- a/apps/reader/models.py +++ b/apps/reader/models.py @@ -189,13 +189,13 @@ class MUserStory(mongo.Document): meta = { 'collection': 'userstories', - 'indexes': [('user_id', 'feed_id')], + 'indexes': ['feed_id', ('user_id', 'feed_id')], 'allow_inheritance': False, } @classmethod - def delete_old_stories(cls): - MUserStory.objects(read_date__lte=UNREAD_CUTOFF).delete() + def delete_old_stories(cls, feed_id): + MUserStory.objects(feed_id=feed_id, read_date__lte=UNREAD_CUTOFF).delete() class UserSubscriptionFolders(models.Model): diff --git a/utils/feed_fetcher.py b/utils/feed_fetcher.py index 3c5256a9b..a843169a0 100644 --- a/utils/feed_fetcher.py +++ b/utils/feed_fetcher.py @@ -314,7 +314,7 @@ class Dispatcher: if not feed.fetched_once: feed.fetched_once = True feed.save() - MUserStory.delete_old_stories() + MUserStory.delete_old_stories(feed_id=feed.pk) user_subs = UserSubscription.objects.filter(feed=feed) logging.debug(u' ---> [%-30s] Computing scores for all feed subscribers: %s subscribers' % (unicode(feed)[:30], user_subs.count())) stories_db = MStory.objects(story_feed_id=feed.pk,