112 def process(self, urlPurges, queryCallback):
113 generalResponse = GeneralResponse()
115 newPurges = copy.deepcopy(urlPurges)
116 for urlPurge
in urlPurges:
117 if urlPurge.siteId
is None:
118 logger.debug(
">>> Site Limits = " + str(urlPurge.siteLimits))
119 newPurges = newPurges + self.getAdditionPurges(urlPurge, urlPurge.siteLimits, queryCallback)
121 if len(urlPurges) != len(newPurges):
122 logger.debug(
">>> Purges reassign")
123 urlPurges = newPurges
125 for urlPurge
in urlPurges:
128 if urlPurge.siteId ==
"":
129 urlPurge.siteId =
"0" 130 if self.isDeleteTableExist(urlPurge.siteId, queryCallback):
133 if urlPurge.url
is None:
135 logger.debug(
">>> UrlType = " + str(urlPurge.urlType))
136 if urlPurge.urlType == dc.EventObjects.URLStatus.URL_TYPE_URL:
138 localUrls = self.uRLCleanUpTask.extractUrlByCriterions(urlPurge.siteId, isUrlExtract, urlPurge.criterions,
139 queryCallback, Constants.FOURTH_DB_ID)
141 localUrls.append(urlPurge.url)
142 logger.debug(
">>> [PURGE] localUrls size = " + str(len(localUrls)))
143 for localUrl
in localUrls:
145 urlPurge.url = localUrl
146 if not self.checkUrlInDcUrls(urlPurge, queryCallback):
147 self.uRLCleanUpTask.deleteFromDataStorage(urlPurge, queryCallback)
148 self.uRLCleanUpTask.deleteFromRawStorage(urlPurge)
149 self.deleteUrlDBField(urlPurge, queryCallback)
150 if self.urlMd5
is not None:
151 StatisticLogManager.statisticUpdate(queryCallback, Constants.StatFreqConstants.FREQ_PURGED_STATE, 1,
152 urlPurge.siteId, self.urlMd5)
153 urlsCount = urlsCount + 1
154 except Exception
as ex:
155 logger.debug(
">>> [PURGE] Some Type Exception [LOOP] = " + str(
type(ex)) +
" " + str(ex))
156 except Exception
as ex:
157 logger.debug(
">>> [PURGE] Some Type Exception = " + str(
type(ex)) +
" " + str(ex))
159 logger.debug(
">>> [PURGE] Table not found, SiteId = " + str(urlPurge.siteId))
161 generalResponse.statuses.append([urlPurge.siteId, urlsCount])
162 logger.debug(
">>> [PURGE] Rsult = " + str([urlPurge.siteId, urlsCount]))
163 return generalResponse