4 @link: http://hierarchical-cluster-engine.com/ 5 @copyright: Copyright © 2013-2014 IOIX Ukraine 6 @license: http://hierarchical-cluster-engine.com/license/ 29 super(ProxyStatusTask, self).
__init__()
37 def process(self, proxyStatuses, queryCallback):
39 for proxyStatus
in proxyStatuses:
40 localProxyStatuses = []
41 if proxyStatus.siteId
is None or proxyStatus.host
is None and proxyStatus.criterions
is not None:
42 result = ProxyStatusTask.execCriterion(proxyStatus, queryCallback, proxyStatus.siteId)
44 localProxy = copy.deepcopy(proxyStatus)
46 localProxy.siteId = elem[
"Site_Id"]
48 localProxy.host = elem[
"Host"]
49 localProxyStatuses.append(localProxy)
51 localProxyStatuses.append(proxyStatus)
52 logger.debug(
">>> len(localProxyStatuses) = " + str(len(localProxyStatuses)))
53 for localProxy
in localProxyStatuses:
54 proxy = self.
fetchProxy(localProxy, queryCallback)
67 def execCriterion(proxyStatus, queryCallback, siteId, additionWhere=None):
69 PROXY_SELECT_TEMPLATE =
"SELECT * FROM `sites_proxy`" 71 if criterionString
is not None and criterionString !=
"":
72 query = PROXY_SELECT_TEMPLATE + criterionString
73 res = queryCallback(query, Constants.PRIMARY_DB_ID, Constants.EXEC_NAME)
74 if isinstance(res, collections.Iterable):
86 if localProxy.siteId
is not None and localProxy.host
is not None:
88 PROXY_FETCH_TEMPLATE =
"SELECT * FROM `sites_proxy` WHERE `Site_Id` = '%s' AND `Host` = '%s'" 89 query = PROXY_FETCH_TEMPLATE % (localProxy.siteId, localProxy.host)
90 res = queryCallback(query, Constants.PRIMARY_DB_ID, Constants.EXEC_NAME)
92 if isinstance(res, collections.Iterable)
and len(res) > 0:
95 ret.domains = res[0][
"Domains"]
96 ret.priority = res[0][
"Priority"]
97 ret.state = res[0][
"State"]
98 ret.countryCode = res[0][
"CountryCode"]
99 ret.countryName = res[0][
"CountryName"]
100 ret.regionCode = res[0][
"RegionCode"]
101 ret.regionName = res[0][
"RegionName"]
102 ret.cityName = res[0][
"CityName"]
103 ret.zipCode = res[0][
"ZipCode"]
104 ret.timeZone = res[0][
"TimeZone"]
105 ret.latitude = res[0][
"Latitude"]
106 ret.longitude = res[0][
"Longitude"]
107 ret.metroCode = res[0][
"MetroCode"]
108 ret.faults = res[0][
"Faults"]
109 ret.faultsMax = res[0][
"FaultsMax"]
110 ret.categoryId = res[0][
"Category_Id"]
111 ret.limits = res[0][
"Limits"]
112 ret.description = res[0][
"Description"]
113 ret.cDate = res[0][
"CDate"]
114 ret.uDate = res[0][
"UDate"]
115 except Exception
as excp:
116 logger.debug(
">>> ProxyStatusTask.fetchProxy some exception = " + str(excp))
def fetchProxy(self, localProxy, queryCallback)
def process(self, proxyStatuses, queryCallback)
def generateCriterionSQL(criterions, additionWhere=None, siteId=None)
def execCriterion(proxyStatus, queryCallback, siteId, additionWhere=None)