diff options
| author | Jannis Leidel <jannis@leidel.info> | 2015-02-09 15:40:33 +0100 |
|---|---|---|
| committer | Jannis Leidel <jannis@leidel.info> | 2015-02-09 15:40:33 +0100 |
| commit | 25947b932aa99b42afdcf846b1b29cba75255869 (patch) | |
| tree | 2c984f42564ebcc546dd4a1465367cf057fe46fa /dashboard | |
| parent | 5762826eb7b44d36bf4a3b1e50acd637ef7375c1 (diff) | |
Cache dev dashboard index as well.
Diffstat (limited to 'dashboard')
| -rw-r--r-- | dashboard/views.py | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/dashboard/views.py b/dashboard/views.py index 09a4b78f..289d1698 100644 --- a/dashboard/views.py +++ b/dashboard/views.py @@ -12,14 +12,21 @@ from .utils import generation_key def index(request): - metrics = [] - for MC in Metric.__subclasses__(): - metrics.extend(MC.objects.filter(show_on_dashboard=True)) - metrics = sorted(metrics, key=operator.attrgetter('display_position')) + generation = generation_key() + key = 'dashboard:index' + + data = cache.get(key, version=generation) + if data is None: + metrics = [] + for MC in Metric.__subclasses__(): + metrics.extend(MC.objects.filter(show_on_dashboard=True)) + metrics = sorted(metrics, key=operator.attrgetter('display_position')) + + data = [] + for metric in metrics: + data.append({'metric': metric, 'latest': metric.data.latest()}) + cache.set(key, data, 60 * 60, version=generation) - data = [] - for metric in metrics: - data.append({'metric': metric, 'latest': metric.data.latest()}) return render(request, 'dashboard/index.html', {'data': data}) @@ -40,7 +47,7 @@ def metric_json(request, metric_slug): daysback = 30 generation = generation_key() - key = 'metric:%s:%s' % (metric_slug, daysback) + key = 'dashboard:metric:%s:%s' % (metric_slug, daysback) doc = cache.get(key, version=generation) if doc is None: |
