Exemple #1
0
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
Exemple #2
0
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
Exemple #3
0
#__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:
Exemple #4
0
#__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