示例#1
0
 def compdate(x, y):
     COMPARE_COL = self.__REPLICA_CREATION_DATE_COL
     if epochTime(x[COMPARE_COL]) > epochTime(y[COMPARE_COL]):
         return 1
     elif epochTime(x[COMPARE_COL]) < epochTime(y[COMPARE_COL]):
         return -1
     else:
         return 0
示例#2
0
 def compdate(x, y):
     COMPARE_COL = self.__REPLICA_CREATION_DATE_COL
     if epochTime(x[COMPARE_COL]) > epochTime(y[COMPARE_COL]):
         return 1
     elif epochTime(x[COMPARE_COL]) < epochTime(y[COMPARE_COL]):
         return -1
     else:
         return 0
示例#3
0
    def __filterDatasetsToDelete(self, site, spacetoclean, datasetsinfo):
        '''
        It takes datasets from datasetsinfo and append it to deletion queue (datasetstodelete),
        while targetspace is not reached/ or the end of datasetsinfo is reached
        '''
        datasetstodelete = []
        spacefordataset = []
        dates = []
        naccs = []
        cputimes = []
        nBlocks = []
        maxAccsCont = []
        totalAccsCont = []

        cleanedspace = 0
        cleaned = False

        for data in datasetsinfo:
            cur = data[self.__DATASET_SIZE_COL]
            if not isinstance(cur, int):
                self.__logger.info(
                    'Dataset: %s has invalid DATASETSIZE attribute: %s' %
                    (data[self.__DATASET_NAME_COL], str(cur)))
                self.__logger.info(
                    'Invoking alternative method to calculate dataset size...')
                cur = self.__getreplicasize(data[self.__DATASET_NAME_COL])
                if not isinstance(cur, int):
                    continue
                self.__logger.info('The size of dataset is: %d Bytes' % cur)

            cleanedspace += cur

            datasetstodelete += [data[self.__DATASET_NAME_COL]]
            dt = data[self.__REPLICA_CREATION_DATE_COL]
            dates += [epochTime(dt)]
            spacefordataset += [cur]
            if len(data) > self.__DATASET_SIZE_COL:
                naccs += [data[self.__NACC_COL]]
                cputimes += [data[self.__CPU_COL]]
                nBlocks += [data[self.__NBLOCKS_COL]]
                maxAccsCont += [data[self.__NMAX_COL]]
                totalAccsCont += [data[self.__NTOTAL_COL]]
            else:
                naccs += [None]
                cputimes += [None]
                nBlocks += [None]
                maxAccsCont += [None]
                totalAccsCont += [None]

            if cleanedspace >= spacetoclean:
                cleaned = True
                break

        return datasetstodelete, spacefordataset, dates, cleaned, cleanedspace, cputimes, naccs, nBlocks, maxAccsCont, totalAccsCont
示例#4
0
 def __filterDatasetsToDelete(self, site, spacetoclean, datasetsinfo):   
     '''
     It takes datasets from datasetsinfo and append it to deletion queue (datasetstodelete),
     while targetspace is not reached/ or the end of datasetsinfo is reached
     '''
     datasetstodelete = []
     spacefordataset  = []
     dates            = []
     naccs            = []
     cputimes         = []
     nBlocks          = []
     maxAccsCont      = []
     totalAccsCont    = []
                             
     cleanedspace=0
     cleaned=False                              
     
     for data in datasetsinfo:      
         cur = data[self.__DATASET_SIZE_COL]
         if not isinstance(cur, int):       
             self.__logger.info('Dataset: %s has invalid DATASETSIZE attribute: %s'%(data[self.__DATASET_NAME_COL],str(cur)))
             self.__logger.info('Invoking alternative method to calculate dataset size...')
             cur=self.__getreplicasize(data[self.__DATASET_NAME_COL])
             if not isinstance(cur, int): 
                 continue                
             self.__logger.info('The size of dataset is: %d Bytes'%cur)      
         
         cleanedspace += cur
                     
         datasetstodelete += [data[self.__DATASET_NAME_COL]]                
         dt = data[self.__REPLICA_CREATION_DATE_COL]                    
         dates += [epochTime(dt)]         
         spacefordataset += [cur]
         if len(data) > self.__DATASET_SIZE_COL:
             naccs += [data[self.__NACC_COL]]
             cputimes += [data[self.__CPU_COL]]
             nBlocks       += [data[self.__NBLOCKS_COL]]
             maxAccsCont   += [data[self.__NMAX_COL]]
             totalAccsCont += [data[self.__NTOTAL_COL]]
         else:
             naccs += [None]
             cputimes += [None]
             nBlocks       += [None]
             maxAccsCont   += [None]
             totalAccsCont += [None]
                                         
         if cleanedspace >= spacetoclean:
             cleaned=True
             break            
                         
     return datasetstodelete, spacefordataset, dates, cleaned, cleanedspace, cputimes, naccs, nBlocks, maxAccsCont, totalAccsCont