- Timestamp:
- 04/05/05 14:30:58 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/daemon/togad.py
r41 r42 75 75 return self.perform( 'update', '"' + filename + '"', args ) 76 76 77 def grabLastUpdate( self, filename ): 78 79 last_update = 0 80 81 for line in os.popen( self.binary + ' info "' + filename + '"' ).readlines(): 82 83 if line.find( 'last_update') != -1: 84 85 last_update = line.split( ' = ' )[1] 86 87 if last_update: 88 return last_update 89 else: 90 return 0 91 77 92 def perform( self, action, filename, args ): 78 93 … … 334 349 # 335 350 #STORE_INTERVAL = random.randint( 60, 180 ) 336 STORE_INTERVAL = 40351 STORE_INTERVAL = 180 337 352 338 353 storethread = threading.Thread( None, self.storeThread, 'storemetricthread' ) … … 478 493 self.slot = threading.Lock() 479 494 self.rrdm = RRDMutator() 495 self.gatherLastUpdates() 496 497 def gatherLastUpdates( self ): 498 "Populate the lastStored list, containing timestamps of all last updates" 499 500 cluster_dir = '%s/%s' %( check_dir(ARCHIVE_PATH), self.cluster ) 501 502 hosts = [ ] 503 504 if os.path.exists( cluster_dir ): 505 506 for root, dirs, files in os.walk( cluster_dir ): 507 508 for dir in dirs: 509 510 valid_dir = 1 511 512 for letter in dir: 513 if letter not in string.digits: 514 valid_dir = 0 515 516 if valid_dir: 517 host = root.split( '/' )[-1] 518 hosts.append( host ) 519 520 for host in hosts: 521 522 last_serial = self.getLastRrdTimeSerial( host ) 523 if last_serial: 524 525 metric_dir = cluster_dir + '/' + host + '/' + last_serial 526 if os.path.exists( metric_dir ): 527 528 for root, dirs, files in os.walk( metric_dir ): 529 530 for file in files: 531 532 metricname = file.split( '.rrd' )[0] 533 534 if not self.lastStored.has_key( host ): 535 536 self.lastStored[ host ] = { } 537 538 self.lastStored[ host ][ metricname ] = self.rrdm.grabLastUpdate( metric_dir + '/' + file ) 480 539 481 540 def getClusterName( self ): … … 525 584 # 526 585 if len( self.myMetrics[ host ][ metricname ] ) > 0: 527 metric = self.myMetrics[ host ][ metricname ].pop( )586 metric = self.myMetrics[ host ][ metricname ].pop( 0 ) 528 587 529 588 self.slot.release()
Note: See TracChangeset
for help on using the changeset viewer.