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.URLPutTask.URLPutTask Class Reference
Inheritance diagram for dc_db.URLPutTask.URLPutTask:
Collaboration diagram for dc_db.URLPutTask.URLPutTask:

Public Member Functions

def __init__ (self, keyValueStorageDir, rawDataDir, dBDataTask)
 
def process (self, urlPuts, queryCallback)
 
- Public Member Functions inherited from dc_db.BaseTask.BaseTask
def isSiteExist (self, siteId, queryCallback, userId=None)
 
def generateCriterionSQL (self, criterions, additionWhere=None, siteId=None)
 
def fetchByCriterions (self, criterions, queryCallback)
 
def dbLock (self, mutexName, queryCallback, sleepTime=1, mutexLockTTL=Constants.DEFAULT_LOCK_TTL)
 
def dbUnlock (self, mutexName, queryCallback)
 
def createUrlsInsertQuery (self, siteId, localKeys, localValues)
 
def copyUrlsToDcUrls (self, siteId, queryCallback)
 
def statisticLogUpdate (self, localObj, urlMd5, siteId, status, queryCallback, isInsert=False)
 
def calculateMd5FormUrl (self, url, urlType, useNormilize=False)
 

Public Attributes

 uRLCleanUpTask
 
 dBDataTask
 

Additional Inherited Members

- Static Public Member Functions inherited from dc_db.BaseTask.BaseTask
def readValueFromSiteProp (siteId, propName, queryCallback, urlMd5=None)
 

Detailed Description

Definition at line 22 of file URLPutTask.py.

Constructor & Destructor Documentation

◆ __init__()

def dc_db.URLPutTask.URLPutTask.__init__ (   self,
  keyValueStorageDir,
  rawDataDir,
  dBDataTask 
)

Definition at line 28 of file URLPutTask.py.

28  def __init__(self, keyValueStorageDir, rawDataDir, dBDataTask):
29  super(URLPutTask, self).__init__()
30  self.uRLCleanUpTask = URLCleanUpTask(keyValueStorageDir, rawDataDir, dBDataTask)
31  self.dBDataTask = dBDataTask
32 
33 
def __init__(self)
constructor
Definition: UIDGenerator.py:19

Member Function Documentation

◆ process()

def dc_db.URLPutTask.URLPutTask.process (   self,
  urlPuts,
  queryCallback 
)

Definition at line 39 of file URLPutTask.py.

39  def process(self, urlPuts, queryCallback): # pylint: disable=W0613
40  urlPutResponses = []
41  for urlPut in urlPuts:
42  urlsCount = 0
43  localMd5s = []
44  if urlPut.urlMd5 is None:
45  logger.debug(">>> urlPuts.urlMd5 is None, fetch by criterions")
46  localMd5s = self.uRLCleanUpTask.extractUrlByCriterions(urlPuts.siteId, False, urlPuts.criterions,
47  queryCallback, Constants.SECONDARY_DB_ID)
48  else:
49  localMd5s.append(urlPut.urlMd5)
50  logger.debug(">>> [URL_PUT] localUrls size = " + str(len(localMd5s)))
51 
52  if "data" in urlPut.putDict and urlPut.contentType != dc.EventObjects.Content.CONTENT_PROCESSOR_CONTENT:
53  try:
54  urlPut.putDict["data"] = base64.b64decode(urlPut.putDict["data"])
55  except TypeError:
56  pass
57  for localMd5 in localMd5s:
58  try:
59  urlPut.urlMd5 = localMd5
60  urlPutResponses.append(self.dBDataTask.process(urlPut, queryCallback))
61  urlsCount = urlsCount + 1
62  except Exception as err:
63  ExceptionLog.handler(logger, err, ">>> [URL_PUT] Exception:")
64  logger.debug(">>> [URL_PUT] Some Type Exception [LOOP] = " + str(type(err)))
65 
66  return urlPutResponses
Here is the caller graph for this function:

Member Data Documentation

◆ dBDataTask

dc_db.URLPutTask.URLPutTask.dBDataTask

Definition at line 31 of file URLPutTask.py.

◆ uRLCleanUpTask

dc_db.URLPutTask.URLPutTask.uRLCleanUpTask

Definition at line 30 of file URLPutTask.py.


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