DIRACGrid/DIRAC — pull request #673 by ubeda (2012-04-16 08:11:01+00:00)
Title: NEW: scalable RSS ( working prototype )

Please, do not mix this pull requests with others. It contains a prototype using caching for RSS, but I could not test it under heavy load. It includes:

* ResourceStatus as a singleton
* ResourceStatus caching ( only used if RSS flag is Active )
* It caches the whole StorageElementStatus table ( the relevant columns ) using DictCache.
* Key, value pairs in the cache are ( + '#' + , ) e.g. ( 'CERN-USER#Read', 'Active' ). I took the simplest approach, without modifying DictCache.
* When there is a write operation, the cache is locked until the write is done, then the cache refreshed.
* The cache used is RSSCache, is an extension of DictCache that includes history recording, and the possibility to have one more lock. ( It has two methods non-thread safe, do not use it unless you know what are you doing ).
* gResourceStatus not included yet
* unittests for the new features