def getStatistic(model, field, stat, statFn): """ whatever it is """ qname = qualifiedModelName(model) statVal = None if cacheStatistics(): try: statVal = ModelStatistic.objects.filter(model=qname, field=field, statistic=stat)[0].value except IndexError: pass # no results if statVal is None: statVal = statFn() if cacheStatistics(): timestamp = datetime.datetime.now(pytz.utc) ModelStatistic.objects.create(recorded=timestamp, model=qname, field=field, statistic=stat, value=statVal) ## remove old entries ModelStatistic.objects.filter(recorded__lt=timestamp, model=qname, field=field, statistic=stat).delete() return statVal
def getStatistic(model, field, stat, statFn): """ whatever it is """ qname = qualifiedModelName(model) statVal = None if cacheStatistics(): try: statVal = ModelStatistic.objects.filter(model=qname,field=field,statistic=stat)[0].value except IndexError: pass # no results if statVal is None: statVal = statFn() if cacheStatistics(): timestamp = datetime.datetime.now(pytz.utc) ModelStatistic.objects.create(recorded = timestamp, model = qname, field = field, statistic = stat, value = statVal) ## remove old entries ModelStatistic.objects.filter(recorded__lt=timestamp, model = qname, field = field, statistic = stat).delete() return statVal
#__END_LICENSE__ import os import sys import django import datetime import pytz # django.setup() from django.db.models import (StdDev, fields) from xgds_data.models import cacheStatistics from xgds_data.introspection import (qualifiedModelName, isAbstract, modelFields, isNumeric, getModels, resolveModel) from django.conf import settings if cacheStatistics(): from xgds_data.models import ModelStatistic tableCounts = dict() tableCountsAge = dict() fieldCounts = dict() fieldCountsAge = dict() def timeout(): """ Get the timeout for the cache """ try: return settings.XGDS_DATA_CACHE_TIMEOUT except AttributeError:
#__END_LICENSE__ import os import sys import django import datetime import pytz # django.setup() from django.db.models import (StdDev, fields) from xgds_data.models import cacheStatistics from xgds_data.introspection import (qualifiedModelName, isAbstract, modelFields, isNumeric, getModels, resolveModel) from django.conf import settings if cacheStatistics(): from xgds_data.models import ModelStatistic tableCounts = dict() tableCountsAge = dict() fieldCounts = dict() fieldCountsAge = dict() def timeout(): """ Get the timeout for the cache """ try: return settings.XGDS_DATA_CACHE_TIMEOUT except AttributeError: return 60