team-3/src/c3nav/mapdata/utils/cache/stats.py
2018-12-25 21:36:54 +01:00

27 lines
690 B
Python

from django.core.cache import cache
from django.utils import timezone
def increment_cache_key(cache_key):
try:
cache.incr(cache_key)
except ValueError:
cache.set(cache_key, 1, None)
def stats_snapshot(reset=True):
last_now = cache.get('apistats_last_reset', '', None)
now = timezone.now()
results = {}
for key in cache.keys('apistats__*'):
results[key] = cache.get(key)
if reset:
cache.delete(key)
if reset:
cache.set('apistats_last_reset', now, None)
results = dict(sorted(results.items()))
return {
'start_date': str(last_now),
'end_date': str(now),
'data': results
}