add some stale='update_after' for better performance
authorStefan Kögl <stefan@skoegl.net>
Sat, 27 Apr 2013 11:48:28 +0000 (27 13:48 +0200)
committerStefan Kögl <stefan@skoegl.net>
Sat, 27 Apr 2013 11:48:28 +0000 (27 13:48 +0200)
mygpo/db/couchdb/episode_state.py
mygpo/db/couchdb/user.py

index 549b203..b03ba24 100644 (file)
@@ -97,6 +97,7 @@ def podcast_listener_count(episode):
             group       = True,
             group_level = 1,
             reduce      = True,
+            stale       = 'update_after',
         )
     return r.first()['value'] if r else 0
 
@@ -120,6 +121,7 @@ def podcast_listener_count_timespan(podcast, start=None, end={}):
             group       = True,
             group_level = 2,
             reduce      = True,
+            stale       = 'update_after',
         )
 
     return map(_wrap_listener_count, r)
@@ -139,6 +141,7 @@ def episode_listener_counts(episode):
             group       = True,
             group_level = 2,
             reduce      = True,
+            stale       = 'update_after',
         )
 
     return map(_wrap_listeners, r)
@@ -179,6 +182,7 @@ def episode_listener_count(episode, start=None, end={}):
             group       = True,
             group_level = 2,
             reduce      = True,
+            stale       = 'update_after',
         )
     return r.first()['value'] if r else 0
 
@@ -204,6 +208,7 @@ def episode_listener_count_timespan(episode, start=None, end={}):
             group       = True,
             group_level = 3,
             reduce      = True,
+            stale       = 'update_after',
         )
 
     return map(_wrap_listener_count, r)
index d82ce2e..d2cf726 100644 (file)
@@ -23,6 +23,7 @@ def get_num_listened_episodes(user):
             endkey      = [user._id, {}],
             reduce      = True,
             group_level = 2,
+            stale       = 'update_after',
         )
 
     return map(_wrap_num_listened, r)
@@ -52,6 +53,7 @@ def get_num_played_episodes(user, since=None, until={}):
             startkey = startkey,
             endkey   = endkey,
             reduce   = True,
+            stale    = 'update_after',
         )
 
     val = res.one()
@@ -78,6 +80,7 @@ def get_latest_episodes(user, count=10):
             descending   = True,
             limit        = count,
             reduce       = False,
+            stale        = 'update_after',
         )
 
     keys = [r['value'] for r in res]
@@ -105,6 +108,7 @@ def get_seconds_played(user, since=None, until={}):
             startkey = startkey,
             endkey   = endkey,
             reduce   = True,
+            stale    = 'update_after',
         )
 
     val = res.one()