4 @link: http://hierarchical-cluster-engine.com/ 5 @copyright: Copyright © 2013-2014 IOIX Ukraine 6 @license: http://hierarchical-cluster-engine.com/license/ 19 SITE_PROP_NAME_FREQ =
"STATS_FREQ_ENABLED" 20 SITE_PROP_NAME_LOG =
"STATS_LOG_ENABLED" 21 GLOBAL_FREQ_ENABLED =
False 22 GLOBAL_LOG_ENABLED =
False 33 tempValue = BaseTask.readValueFromSiteProp(siteId, propName, queryCallback)
34 if tempValue
is not None:
35 ret = bool(int(tempValue))
46 if queryCallback
is not None:
47 SQL_INSERT_TEMPLAE =
"INSERT IGNORE INTO `%s` SET `URLMd5`= '%s'" 48 if StatisticLogManager.isStatisticEnabled(queryCallback, siteId, StatisticLogManager.GLOBAL_FREQ_ENABLED,
49 StatisticLogManager.SITE_PROP_NAME_FREQ):
50 tbName = Constants.DC_FREQ_TABLE_NAME_TEMPLATE % siteId
51 query = SQL_INSERT_TEMPLAE % (tbName, URLMd5)
52 queryCallback(query, Constants.STAT_DB_ID)
54 logger.debug(
">>> Statistic Freq Disabled, SiteId=" + siteId)
56 logger.error(
">>> addNewRecord error, queryCallback is None")
68 if StatisticLogManager.isStatisticEnabled(queryCallback, siteId, StatisticLogManager.GLOBAL_FREQ_ENABLED,
69 StatisticLogManager.SITE_PROP_NAME_FREQ):
70 if queryCallback
is not None:
71 if freqName
in Constants.StatFreqConstants.__dict__.values():
72 FREQ_UPDATE_SQL_TEMPLATE =
"UPDATE `%s` SET `%s`=`%s`+%s, `MDate`=NOW() WHERE `URLMd5`='%s'" 73 tbName = Constants.DC_FREQ_TABLE_NAME_TEMPLATE % siteId
74 query = FREQ_UPDATE_SQL_TEMPLATE % (tbName, freqName, freqName, str(addValue), URLMd5)
75 queryCallback(query, Constants.STAT_DB_ID)
77 logger.error(
">>> statisticUpdate error = " + str(freqName) +
" Statistic Freq field not support !")
79 logger.error(
">>> statisticUpdate error, queryCallback is None")
81 logger.debug(
">>> Statistic Freq Disabled, SiteId=" + siteId)
93 def logUpdate(queryCallback, opName, logObject, siteId, URLMd5, opDate="NOW()
"): 94 if StatisticLogManager.isStatisticEnabled(queryCallback, siteId, StatisticLogManager.GLOBAL_LOG_ENABLED,
95 StatisticLogManager.SITE_PROP_NAME_LOG):
96 if queryCallback
is not None:
97 if opName
in Constants.logOperationsDict:
98 LOG_INSERT_SQL_TEMPLATE =
"INSERT INTO `%s` SET `URLMd5`='%s', `OpCode`=%s, `Object`='%s', `ODate`=%s" 99 tbName = Constants.DC_LOG_TABLE_NAME_TEMPLATE % siteId
101 if logObject
is not None:
103 objectStr = logObject.toJSON()
105 objectStr = Utils.escape(objectStr)
106 except Exception
as ex:
107 logger.debug(
">>> logUpdate Object to JSON error = " + str(ex))
108 if opDate !=
"NOW()":
109 opDate = (
"'" + opDate +
"'")
110 query = LOG_INSERT_SQL_TEMPLATE % (tbName, URLMd5, str(Constants.logOperationsDict[opName]), objectStr,
112 queryCallback(query, Constants.LOG_DB_ID)
114 logger.error(
">>> logUpdate error = " + str(opName) +
" Log field not support !")
116 logger.error(
">>> logUpdate error, queryCallback is None")
118 logger.debug(
">>> Statistic Log Disabled, SiteId=" + siteId)
def isStatisticEnabled(queryCallback, siteId, defValue, propName)
def statisticUpdate(queryCallback, freqName, addValue, siteId, URLMd5)
def logUpdate(queryCallback, opName, logObject, siteId, URLMd5, opDate="NOW()")
def addNewRecord(queryCallback, siteId, URLMd5)