def test_simple_remove_love(self): from entity.models import Love target_loves = Love.objects.all()[:10] feed = LoveFeed(13) feed.delete() # slow implementation activities = [] for love in target_loves: # remove the items by key (id) activity = Activity(love.user, LoveVerb, love, love.user, time=love.created_at, extra_context=dict(hello='world')) activities.append(activity) feed.remove(activity) feed.add_many(activities) for activity in activities: assert feed.contains(activity) feed.remove_many(activities) assert feed.count() == 0 feed_loves = feed[:20]
def test_remove_love(self): from entity.models import Love thessa = User.objects.get(pk=13) profile = thessa.get_profile() follower_ids = profile.cached_follower_ids()[:100] love = Love.objects.all()[:1][0] connection = get_redis_connection() # divide the followers in groups of 10000 follower_groups = chunks(follower_ids, 10000) for follower_group in follower_groups: # now, for these 10000 items pipeline/thread away with connection.map() as redis: activity = love.create_activity() for follower_id in follower_group: feed = LoveFeed(follower_id, redis=redis) feed.remove(activity)