RSSCache

mod:RSSCache

Extension of DictCache to be used within RSS

class DIRAC.ResourceStatusSystem.Utilities.RSSCache.RSSCache(lifeTime, updateFunc=None, cacheHistoryLifeTime=None)

Bases: object

Cache with purgeThread integrated

__init__(lifeTime, updateFunc=None, cacheHistoryLifeTime=None)

Constructor

acquireLock()

Acquires RSSCache lock

get(resourceKey)

Gets the resource(s) status(es). Every resource can have multiple statuses, so in order to speed up things, we store them on the cache as follows:

{ (<resourceName>,<resourceStatusType0>) : whatever0,
  (<resourceName>,<resourceStatusType1>) : whatever1,
}
getBulk(resourceKeys)

Gets values for resourceKeys in one ATOMIC operation.

getCacheHistory()

Return the cache updates history

getCacheKeys()

List all the keys stored in the cache.

getCacheStatus()

Return the latest cache status

isCacheAlive()

Returns status of the cache refreshing thread

refreshCache()

Clears the cache and gets its latest version, not Thread safe ! Acquire a lock before using it ! ( and release it afterwards ! )

refreshCacheAndHistory()

Method that refreshes the cache and updates the history. Not thread safe, you must acquire a lock before using it, and release it right after !

releaseLock()

Releases RSSCache lock

resetCache()

Reset cache.

setCacheHistoryLifeTime(cacheHistoryLifeTime)

Set cache life time

setLifeTime(lifeTime)

Set cache life time

startRefreshThread()

Run refresh thread.

stopRefreshThread()

Stop refresh thread.