4 @link: http://hierarchical-cluster-engine.com/ 5 @copyright: Copyright © 2013-2014 IOIX Ukraine 6 @license: http://hierarchical-cluster-engine.com/license/ 28 def __init__(self, keyValueStorageDir, rawDataDir, backDBResolve):
45 localUrlDelete.urlType = dc.EventObjects.URLStatus.URL_TYPE_MD5
47 urlsDeleteObjs.append(localUrlDelete)
48 StatisticLogManager.statisticUpdate(queryCallback, Constants.StatFreqConstants.FREQ_AGED_STATE, 1,
50 if len(urlsDeleteObjs) > 0:
51 logger.debug(
">>> URLAge started URLDelete count = " + str(len(urlsDeleteObjs)))
65 logger.debug(
">>> " + siteId +
"." + UrlMd5 +
" Already selected")
69 logger.debug(
">>> " + siteId +
"." + UrlMd5 +
" Added")
72 logger.debug(
">>> UrlLimit reached = " + str(urlLimit))
80 def process(self, urlAges, queryCallback):
84 URL_SELECT_TEMPL =
"SELECT `UrlMd5` FROM %s" 85 for urlAge
in urlAges:
86 defaultUrlsCriterions = urlAge.urlsCriterions[dc.EventObjects.URLAge.CRITERION_WHERE]
89 query =
"SELECT `Id` FROM `sites`" 91 if len(sitesCriterionStr) > 0:
92 query +=
" " + sitesCriterionStr
93 sitesRes = queryCallback(query, Constants.PRIMARY_DB_ID)
94 if sitesRes
is not None:
95 for sitesElem
in sitesRes:
98 if sitesElem
is not None and len(sitesElem) > 0:
102 "SELECT `Value` FROM `sites_properties` WHERE `Site_Id`='%s' AND `Name`='AGING_URL_CRITERION' LIMIT 1"\
104 altURLsCritRes = queryCallback(queryAltURLsCrit, Constants.PRIMARY_DB_ID)
105 criterionsSubstituted =
False 106 if altURLsCritRes
is not None:
107 for altURLsCritItem
in altURLsCritRes:
108 if altURLsCritItem
is not None and len(altURLsCritItem) > 0:
110 urlAge.urlsCriterions[dc.EventObjects.URLAge.CRITERION_WHERE] = altURLsCritItem[0]
111 criterionsSubstituted =
True 112 if not criterionsSubstituted:
113 urlAge.urlsCriterions[dc.EventObjects.URLAge.CRITERION_WHERE] = defaultUrlsCriterions
115 tableName = Constants.DC_URLS_TABLE_NAME_TEMPLATE % sitesElem[0]
116 query = URL_SELECT_TEMPL % tableName
118 if len(urlsCriterionStr) > 0:
119 query +=
" " + urlsCriterionStr
121 urlsRes = queryCallback(query, Constants.SECONDARY_DB_ID)
122 for urlsRes
in urlsRes:
125 if urlsRes
is not None and len(urlsRes) > 0:
127 StatisticLogManager.logUpdate(queryCallback,
"LOG_URL_AGING", urlAge, sitesElem[0], urlsRes[0])
130 return generalResponse
GeneralResponse event object, represents general state response for multipurpose usage.
def __init__(self, keyValueStorageDir, rawDataDir, backDBResolve)
def process(self, urlAges, queryCallback)
def urlDeleteOperation(self, queryCallback)
def addElemInLocalDict(self, siteId, UrlMd5, urlLimit, delayedType)
def generateCriterionSQL(self, criterions, additionWhere=None, siteId=None)