示例#1
0
 def fastAlgo(self):
     combineListOfDict('name',
                       self.data,
                       self.data,
                       errorKey='error_key',
                       size=add,
                       list=addToList)
示例#2
0
    def testcombineListOfDict(self):

        # normal combine test
        
        result =  [{'name': 'test_a', 'error_key': 'error_123', 
                    'list': [5, 6, 7], 'size': 3}, 
                   {'list': [1, 2], 'name': 'test_d', 'size': 2}, 
                   {'list': [1, 2], 'name': 'test_c', 'size': 2}, 
                   {'error_key': ['error_123', 'error_456'], 
                    'list': [1], 'name': 'test_b', 'size': 1}]
        interList = combineListOfDict('name', self.baseList, self.applyList1)

        self.assertEqual(combineListOfDict('name', interList, self.applyList2),
                         result)

        # with combine function
        result = [{'name': 'test_a', 'error_key': 'error_123',
                   'list': [1, 3, 4, 5, 6, 7], 'size': 6},
                  {'list': [1, 2], 'name': 'test_d', 'size': 2},
                  {'list': [1, 2], 'name': 'test_c', 'size': 2},
                  {'size': 1, 'list': [1], 'name': 'test_b',
                   'error_key': ['error_123', 'error_456']}]

        interList = combineListOfDict('name', self.baseList, self.applyList1,
                                      size = add, list = addToList)

        self.assertEqual(combineListOfDict('name', interList, self.applyList2,
                                size = add, list = addToList), result)

        # test error case
        result =   [{'list': [1, 2], 'name': 'test_c', 'size': 2},
                    {'error_key': ['error_123', 'error_456'], 
                     'size': 1, 'list': [1], 'name': 'test_b', 
                     'error': '123 error, 456 error'},
                     {'error': '123 error', 'size': 1, 'list': 1,
                     'name': 'test_a', 'error_key': 'error_123'}]

        self.assertEqual(combineListOfDict('name', self.baseList,
                            self.errorList, errorKey = 'error_key'), result)

        # all combined
        self.applyList1.extend(self.errorList)
        result = [{'name': 'test_a', 'error': '123 error',
                   'error_key': 'error_123', 'list': [1, 3, 4, 5, 6, 7],
                   'size': 6},
                   {'list': [1, 2], 'name': 'test_d', 'size': 2},
                  {'list': [1, 2], 'name': 'test_c', 'size': 2},
                  {'error': '123 error, 456 error', 'size': 1, 'list': [1],
                   'name': 'test_b', 'error_key': ['error_123', 'error_456']}]

        interList = combineListOfDict('name', self.baseList, self.applyList1,
                                      errorKey = 'error_key',
                                      size = add, list = addToList)

        self.assertEqual(combineListOfDict('name', interList, self.applyList2,
                                errorKey = 'error_key',
                                size = add, list = addToList),result)
示例#3
0
        ### TODO: remove this when GlobalMonitor spins out as a separate application
        if serviceURL.lower() == "local":
            
            baseResults = getOverview()
            urls = getGlobalQueues()
        else:
            baseResults = service.getRequestNames()
            urls = service.getWorkQueue()
    except Exception, ex:
        logging.error(str(ex))
        return DFormatter.errorFormatter(serviceURL, "RequestManger Down")

    globalResults = []
    for url in urls:
        globalResults.extend(getRequestOverview(url, "GlobalQueue"))
    return combineListOfDict('request_name', baseResults, globalResults,
                             'global_queue')

def getRequestInfoFromGlobalQueue(serviceURL):
    """ get the request info from global queue """
    url, dbName = splitCouchServiceURL(serviceURL)
    service = WorkQueue(url, dbName)
    try:
        jobInfo = service.getTopLevelJobsByRequest()
        qInfo = service.getChildQueuesByRequest()
        siteWhitelists = service.getSiteWhitelistByRequest()
        childQueueURLs = set()
        for item in qInfo:
            childQueueURLs.add(item['local_queue'])

    except Exception, ex:
        logging.error("%s: %s" % (serviceURL, str(ex)))
示例#4
0
    def testcombineListOfDict(self):

        # normal combine test

        result = [{
            'name': 'test_a',
            'error_key': 'error_123',
            'list': [5, 6, 7],
            'size': 3
        }, {
            'list': [1, 2],
            'name': 'test_d',
            'size': 2
        }, {
            'list': [1, 2],
            'name': 'test_c',
            'size': 2
        }, {
            'error_key': ['error_123', 'error_456'],
            'list': [1],
            'name': 'test_b',
            'size': 1
        }]
        interList = combineListOfDict('name', self.baseList, self.applyList1)

        self.assertEqual(combineListOfDict('name', interList, self.applyList2),
                         result)

        # with combine function
        result = [{
            'name': 'test_a',
            'error_key': 'error_123',
            'list': [1, 3, 4, 5, 6, 7],
            'size': 6
        }, {
            'list': [1, 2],
            'name': 'test_d',
            'size': 2
        }, {
            'list': [1, 2],
            'name': 'test_c',
            'size': 2
        }, {
            'size': 1,
            'list': [1],
            'name': 'test_b',
            'error_key': ['error_123', 'error_456']
        }]

        interList = combineListOfDict('name',
                                      self.baseList,
                                      self.applyList1,
                                      size=add,
                                      list=addToList)

        self.assertEqual(
            combineListOfDict('name',
                              interList,
                              self.applyList2,
                              size=add,
                              list=addToList), result)

        # test error case
        result = [{
            'list': [1, 2],
            'name': 'test_c',
            'size': 2
        }, {
            'error_key': ['error_123', 'error_456'],
            'size': 1,
            'list': [1],
            'name': 'test_b',
            'error': '123 error, 456 error'
        }, {
            'error': '123 error',
            'size': 1,
            'list': 1,
            'name': 'test_a',
            'error_key': 'error_123'
        }]

        self.assertEqual(
            combineListOfDict('name',
                              self.baseList,
                              self.errorList,
                              errorKey='error_key'), result)

        # all combined
        self.applyList1.extend(self.errorList)
        result = [{
            'name': 'test_a',
            'error': '123 error',
            'error_key': 'error_123',
            'list': [1, 3, 4, 5, 6, 7],
            'size': 6
        }, {
            'list': [1, 2],
            'name': 'test_d',
            'size': 2
        }, {
            'list': [1, 2],
            'name': 'test_c',
            'size': 2
        }, {
            'error': '123 error, 456 error',
            'size': 1,
            'list': [1],
            'name': 'test_b',
            'error_key': ['error_123', 'error_456']
        }]

        interList = combineListOfDict('name',
                                      self.baseList,
                                      self.applyList1,
                                      errorKey='error_key',
                                      size=add,
                                      list=addToList)

        self.assertEqual(
            combineListOfDict('name',
                              interList,
                              self.applyList2,
                              errorKey='error_key',
                              size=add,
                              list=addToList), result)
 def fastAlgo(self):
     combineListOfDict('name', self.data, self.data,
                             errorKey = 'error_key',
                             size = add, list = addToList)
示例#6
0
        ### TODO: remove this when GlobalMonitor spins out as a separate application
        if serviceURL.lower() == "local":

            baseResults = getOverview()
            urls = getGlobalQueues()
        else:
            baseResults = service.getRequestNames()
            urls = service.getWorkQueue()
    except Exception, ex:
        logging.error(str(ex))
        return DFormatter.errorFormatter(serviceURL, "RequestManger Down")

    globalResults = []
    for url in urls:
        globalResults.extend(getRequestOverview(url, "GlobalQueue"))
    return combineListOfDict('request_name', baseResults, globalResults,
                             'global_queue')

def getRequestInfoFromGlobalQueue(serviceURL):
    """ get the request info from global queue """
    url, dbName = splitCouchServiceURL(serviceURL)
    service = WorkQueue(url, dbName)
    try:
        jobInfo = service.getTopLevelJobsByRequest()
        qInfo = service.getChildQueuesByRequest()
        siteWhitelists = service.getSiteWhitelistByRequest()
        childQueueURLs = set()
        for item in qInfo:
            childQueueURLs.add(item['local_queue'])

    except Exception, ex:
        logging.error("%s: %s" % (serviceURL, str(ex)))