From 704902b6f5541d28f1834cb82909386a86f3f1dc Mon Sep 17 00:00:00 2001 From: bsimpson63 Date: Thu, 30 May 2013 10:52:49 -0400 Subject: [PATCH] Add method to check for missing traffic hours. --- r2/r2/models/traffic.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/r2/r2/models/traffic.py b/r2/r2/models/traffic.py index e1738347a..297f795bd 100644 --- a/r2/r2/models/traffic.py +++ b/r2/r2/models/traffic.py @@ -368,6 +368,19 @@ def get_traffic_last_modified(): return datetime.datetime.min +@memoize("missing_traffic", time=60 * 10) +def get_missing_traffic(start, end): + """Check for missing hourly traffic between start and end.""" + + # NOTE: start, end must be UTC time without tzinfo + time_points = get_time_points('hour', start, end) + q = (Session.query(SitewidePageviews.date) + .filter(SitewidePageviews.interval == "hour") + .filter(SitewidePageviews.date.in_(time_points))) + found = [t for (t,) in q] + return [t for t in time_points if t not in found] + + class SitewidePageviews(Base): """Pageviews across all areas of the site."""