From a17328dcfd58c58d6a44319323218512d6803cef Mon Sep 17 00:00:00 2001 From: Chad Birch Date: Wed, 4 Dec 2013 12:06:26 -0800 Subject: [PATCH] Gold revenue: support longer-term memoization --- r2/r2/lib/pages/pages.py | 7 ++++--- r2/r2/models/gold.py | 9 +++++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/r2/r2/lib/pages/pages.py b/r2/r2/lib/pages/pages.py index 669653f97..8098c6443 100644 --- a/r2/r2/lib/pages/pages.py +++ b/r2/r2/lib/pages/pages.py @@ -35,7 +35,8 @@ from r2.models.gold import ( gold_received_by_user, days_to_pennies, gold_goal_on, - gold_revenue_on, + gold_revenue_steady, + gold_revenue_volatile, get_subscription_details, TIMEZONE as GOLD_TIMEZONE, ) @@ -4200,9 +4201,9 @@ class Goldvertisement(Templated): tomorrow.month, tomorrow.day, tzinfo=GOLD_TIMEZONE) - revenue_today = gold_revenue_on(today) + revenue_today = gold_revenue_volatile(today) yesterday = today - datetime.timedelta(days=1) - revenue_yesterday = gold_revenue_on(yesterday) + revenue_yesterday = gold_revenue_steady(yesterday) revenue_goal = float(gold_goal_on(today)) revenue_goal_yesterday = float(gold_goal_on(yesterday)) diff --git a/r2/r2/models/gold.py b/r2/r2/models/gold.py index 7c8c45aa1..20a4d1e32 100644 --- a/r2/r2/models/gold.py +++ b/r2/r2/models/gold.py @@ -322,8 +322,13 @@ def gold_revenue_multi(dates): for truncated_time, pennies in ENGINE.execute(query)} -@memoize("gold-revenue", time=600) -def gold_revenue_on(date): +@memoize("gold-revenue-volatile", time=600) +def gold_revenue_volatile(date): + return gold_revenue_multi([date]).get(date, 0) + + +@memoize("gold-revenue-steady") +def gold_revenue_steady(date): return gold_revenue_multi([date]).get(date, 0)