def sync_options(cutoff=ONE_HOUR): """ Ensures all options that have been updated (within the database) since ``cutoff`` have their correct values stored in the cache. This **does not** guarantee that the correct value is written into the cache though it will correct itself in the next update window. """ cutoff_dt = timezone.now() - timedelta(seconds=cutoff) # TODO(dcramer): this doesnt handle deleted options (which shouldn't be allowed) for option in Option.objects.filter(last_updated__gte=cutoff_dt).iterator(): default_manager.update_cached_value(key=option.key, value=option.value)
def sync_options(cutoff=ONE_HOUR): """ Ensures all options that have been updated (within the database) since ``cutoff`` have their correct values stored in the cache. This **does not** guarantee that the correct value is written into the cache though it will correct itself in the next update window. """ cutoff_dt = timezone.now() - timedelta(seconds=cutoff) for option in Option.objects.filter( last_updated__gte=cutoff_dt).iterator(): default_manager.update_cached_value( key=option.key, value=option.value, )
def sync_options(cutoff=ONE_HOUR): """ Ensures all options that have been updated (within the database) since ``cutoff`` have their correct values stored in the cache. This **does not** guarantee that the correct value is written into the cache though it will correct itself in the next update window. """ cutoff_dt = timezone.now() - timedelta(seconds=cutoff) # TODO(dcramer): this doesnt handle deleted options (which shouldn't be allowed) for option in Option.objects.filter(last_updated__gte=cutoff_dt).iterator(): try: opt = default_manager.lookup_key(option.key) default_manager.update_cached_value(opt.cache_key, option.value) except UnknownOption as e: logger.exception(unicode(e))