def __getitem__(self, key):
currTime = datetime.now()
if currTime>self.ctime+self.updateInterval:
data = memcache.get( self.keyName )
if data: #Loaded successfully from Memcache
self.data.update( data )
self.ctime = currTime
else:
data = SharedConf.SharedConfData.get_by_key_name( self.keyName )
if data:
for k in data.dynamic_properties():
self.data[ k ] = getattr( data, k )
else: #There isnt any config in the db nor the memcache
data = SharedConf.SharedConfData( key_name=self.keyName )
for k,v in self.data.items(): #Initialize the DB-Config
setattr( data, k, v )
data.put()
memcache.set( self.keyName, self.data, 60*60*24 )
return( self.data[ key ] )
评论列表
文章目录