def getKeyedDeferredSemaphore(key, limit):
global KEYED_SEMAPHORES
if key not in KEYED_SEMAPHORES:
KEYED_SEMAPHORES[key] = defer.DeferredSemaphore(limit)
semaphore = KEYED_SEMAPHORES[key]
if semaphore.limit != limit:
if limit >= semaphore.tokens:
semaphore.limit = limit
log.info("Unable to lower maximum parallel query limit for %s to %d ", key, limit)
else:
log.warning("Unable to lower maximum parallel query limit for %s to %d at this time (%d connections currently active)", key, limit, semaphore.tokens)
return semaphore
评论列表
文章目录