HCE Project Python language Distributed Tasks Manager Application, Distributed Crawler Application and client API bindings.  2.0.0-chaika
Hierarchical Cluster Engine Python language binding
dc_db.StatisticLogManager.StatisticLogManager Class Reference
Inheritance diagram for dc_db.StatisticLogManager.StatisticLogManager:
Collaboration diagram for dc_db.StatisticLogManager.StatisticLogManager:

Static Public Member Functions

def isStatisticEnabled (queryCallback, siteId, defValue, propName)
 
def addNewRecord (queryCallback, siteId, URLMd5)
 
def statisticUpdate (queryCallback, freqName, addValue, siteId, URLMd5)
 
def logUpdate (queryCallback, opName, logObject, siteId, URLMd5, opDate="NOW()")
 

Static Public Attributes

string SITE_PROP_NAME_FREQ = "STATS_FREQ_ENABLED"
 
string SITE_PROP_NAME_LOG = "STATS_LOG_ENABLED"
 
bool GLOBAL_FREQ_ENABLED = False
 
bool GLOBAL_LOG_ENABLED = False
 

Detailed Description

Definition at line 17 of file StatisticLogManager.py.

Member Function Documentation

◆ addNewRecord()

def dc_db.StatisticLogManager.StatisticLogManager.addNewRecord (   queryCallback,
  siteId,
  URLMd5 
)
static

Definition at line 45 of file StatisticLogManager.py.

45  def addNewRecord(queryCallback, siteId, URLMd5):
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)
53  else:
54  logger.debug(">>> Statistic Freq Disabled, SiteId=" + siteId)
55  else:
56  logger.error(">>> addNewRecord error, queryCallback is None")
57 
58 

◆ isStatisticEnabled()

def dc_db.StatisticLogManager.StatisticLogManager.isStatisticEnabled (   queryCallback,
  siteId,
  defValue,
  propName 
)
static

Definition at line 30 of file StatisticLogManager.py.

30  def isStatisticEnabled(queryCallback, siteId, defValue, propName):
31  from dc_db.BaseTask import BaseTask
32  ret = defValue
33  tempValue = BaseTask.readValueFromSiteProp(siteId, propName, queryCallback)
34  if tempValue is not None:
35  ret = bool(int(tempValue))
36  return ret
37 
38 

◆ logUpdate()

def dc_db.StatisticLogManager.StatisticLogManager.logUpdate (   queryCallback,
  opName,
  logObject,
  siteId,
  URLMd5,
  opDate = "NOW()" 
)
static

Definition at line 93 of file StatisticLogManager.py.

93  def logUpdate(queryCallback, opName, logObject, siteId, URLMd5, opDate="NOW()"): if StatisticLogManager.isStatisticEnabled(queryCallback, siteId, StatisticLogManager.GLOBAL_LOG_ENABLED,
94  StatisticLogManager.SITE_PROP_NAME_LOG):
95  if queryCallback is not None:
96  if opName in Constants.logOperationsDict:
97  LOG_INSERT_SQL_TEMPLATE = "INSERT INTO `%s` SET `URLMd5`='%s', `OpCode`=%s, `Object`='%s', `ODate`=%s"
98  tbName = Constants.DC_LOG_TABLE_NAME_TEMPLATE % siteId
99  objectStr = ""
100  if logObject is not None:
101  try:
102  objectStr = logObject.toJSON()
103 # objectStr = MySQLdb.escape_string(objectStr)
104  objectStr = Utils.escape(objectStr)
105  except Exception as ex:
106  logger.debug(">>> logUpdate Object to JSON error = " + str(ex))
107  if opDate != "NOW()":
108  opDate = ("'" + opDate + "'")
109  query = LOG_INSERT_SQL_TEMPLATE % (tbName, URLMd5, str(Constants.logOperationsDict[opName]), objectStr,
110  opDate)
111  queryCallback(query, Constants.LOG_DB_ID)
112  else:
113  logger.error(">>> logUpdate error = " + str(opName) + " Log field not support !")
114  else:
115  logger.error(">>> logUpdate error, queryCallback is None")
116  else:
117  logger.debug(">>> Statistic Log Disabled, SiteId=" + siteId)
118 

◆ statisticUpdate()

def dc_db.StatisticLogManager.StatisticLogManager.statisticUpdate (   queryCallback,
  freqName,
  addValue,
  siteId,
  URLMd5 
)
static

Definition at line 67 of file StatisticLogManager.py.

67  def statisticUpdate(queryCallback, freqName, addValue, siteId, URLMd5):
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)
76  else:
77  logger.error(">>> statisticUpdate error = " + str(freqName) + " Statistic Freq field not support !")
78  else:
79  logger.error(">>> statisticUpdate error, queryCallback is None")
80  else:
81  logger.debug(">>> Statistic Freq Disabled, SiteId=" + siteId)
82 
83 
Here is the caller graph for this function:

Member Data Documentation

◆ GLOBAL_FREQ_ENABLED

bool dc_db.StatisticLogManager.StatisticLogManager.GLOBAL_FREQ_ENABLED = False
static

Definition at line 21 of file StatisticLogManager.py.

◆ GLOBAL_LOG_ENABLED

bool dc_db.StatisticLogManager.StatisticLogManager.GLOBAL_LOG_ENABLED = False
static

Definition at line 22 of file StatisticLogManager.py.

◆ SITE_PROP_NAME_FREQ

string dc_db.StatisticLogManager.StatisticLogManager.SITE_PROP_NAME_FREQ = "STATS_FREQ_ENABLED"
static

Definition at line 19 of file StatisticLogManager.py.

◆ SITE_PROP_NAME_LOG

string dc_db.StatisticLogManager.StatisticLogManager.SITE_PROP_NAME_LOG = "STATS_LOG_ENABLED"
static

Definition at line 20 of file StatisticLogManager.py.


The documentation for this class was generated from the following file: