def testLatestJobDataExpired(self): self.assertFalse(DataCache.islatestJobDataExpired()) DataCache.setDuration(-1) self.assertTrue(DataCache.islatestJobDataExpired()) DataCache.setDuration(300) self.assertFalse(DataCache.islatestJobDataExpired()) DataCache._lastedActiveDataFromAgent = {} self.assertTrue(DataCache.islatestJobDataExpired()) self.assertEqual({}, DataCache.getlatestJobData())
def testLatestJobDataExpired(self): self.assertFalse(DataCache.islatestJobDataExpired()) DataCache.setDuration(-1) self.assertTrue(DataCache.islatestJobDataExpired()) DataCache.setDuration(300) self.assertFalse(DataCache.islatestJobDataExpired()) DataCache._lastedActiveDataFromAgent = {} self.assertTrue(DataCache.islatestJobDataExpired()) self.assertEqual({}, DataCache.getlatestJobData())
def testDuration(self): self.assertEqual(300, DataCache.getDuration()) DataCache.setDuration(100) self.assertEqual(100, DataCache.getDuration())
def testDuration(self): self.assertEqual(300, DataCache.getDuration()) DataCache.setDuration(100) self.assertEqual(100, DataCache.getDuration())
from WMCore.Services.WMStats.WMStatsReader import WMStatsReader @profile def gatherActiveDataStats(): wmstats_url = "https://cmsweb.cern.ch/couchdb/wmstats" reqmgrdb_url = "https://cmsweb.cern.ch/couchdb/reqmgr_workload_cache" jobInfoFlag = False tStart = time.time() try: if DataCache.islatestJobDataExpired(): wmstatsDB = WMStatsReader(wmstats_url, reqdbURL=reqmgrdb_url, reqdbCouchApp="ReqMgr") jobData = wmstatsDB.getActiveData(jobInfoFlag=jobInfoFlag) DataCache.setlatestJobData(jobData) print("DataCache is updated: {}".format(len(jobData))) else: print("DataCache is up-to-date") except Exception as ex: print("Exception updating cache. Details: {}\nTraceback: {}".format( str(ex), str(traceback.format_exc()))) print("Total time executing this cycle: {}".format(time.time() - tStart)) if __name__ == "__main__": DataCache.setDuration(100) while True: gatherActiveDataStats() time.sleep(60)