Cleaning a mess where multi-threaded HTTP requests (in log) had sometimes same UIDs

This commit is contained in:
Miroslav Stampar 2013-01-16 16:04:00 +01:00
parent c0a6e1c3a7
commit fb7243c237
2 changed files with 5 additions and 2 deletions

View File

@ -1556,7 +1556,7 @@ def _setKnowledgeBaseAttributes(flushAll=True):
kb.lastParserStatus = None
kb.locks = AttribDict()
for _ in ("cache", "count", "index", "io", "limit", "log", "value"):
for _ in ("cache", "count", "index", "io", "limit", "log", "request", "value"):
kb.locks[_] = threading.Lock()
kb.matchRatio = None
@ -1595,6 +1595,7 @@ def _setKnowledgeBaseAttributes(flushAll=True):
kb.redirectSetCookie = None
kb.reflectiveMechanism = True
kb.reflectiveCounters = {REFLECTIVE_COUNTER.MISS: 0, REFLECTIVE_COUNTER.HIT: 0}
kb.requestCounter = 0
kb.responseTimes = []
kb.resumeValues = True
kb.safeCharEncode = False

View File

@ -179,7 +179,9 @@ class Connect(object):
cpuThrottle(conf.cpuThrottle)
threadData = getCurrentThreadData()
threadData.lastRequestUID += 1
with kb.locks.request:
kb.requestCounter += 1
threadData.lastRequestUID = kb.requestCounter
url = kwargs.get('url', conf.url)
get = kwargs.get('get', None)