Changeset 375 for trunk/jobarchived
- Timestamp:
- 06/13/07 15:54:25 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/jobarchived/jobarchived.py
r372 r375 104 104 cfg.read( filename ) 105 105 106 global DEBUG_LEVEL, USE_SYSLOG, SYSLOG_LEVEL, SYSLOG_FACILITY, GMETAD_CONF, ARCHIVE_XMLSOURCE, ARCHIVE_DATASOURCES, ARCHIVE_PATH, ARCHIVE_HOURS_PER_RRD, ARCHIVE_EXCLUDE_METRICS, JOB_SQL_DBASE, DAEMONIZE, RRDTOOL, JOB_TIMEOUT 106 global DEBUG_LEVEL, USE_SYSLOG, SYSLOG_LEVEL, SYSLOG_FACILITY, GMETAD_CONF, ARCHIVE_XMLSOURCE, ARCHIVE_DATASOURCES, ARCHIVE_PATH, ARCHIVE_HOURS_PER_RRD, ARCHIVE_EXCLUDE_METRICS, JOB_SQL_DBASE, DAEMONIZE, RRDTOOL, JOB_TIMEOUT, MODRRDTOOL 107 107 108 108 ARCHIVE_PATH = cfg.get( 'DEFAULT', 'ARCHIVE_PATH' ) … … 115 115 116 116 SYSLOG_LEVEL = cfg.getint( 'DEFAULT', 'SYSLOG_LEVEL' ) 117 118 MODRRDTOOL = False 119 120 try: 121 import rrdtool 122 123 MODRRDTOOL = True 124 125 except ImportError: 126 127 MODRRDTOOL = False 128 129 debug_msg( 0, "ERROR: py-rrdtool import FAILED: failing back to DEPRECATED use of rrdtool binary. This will slow down jobmond significantly!" ) 117 130 118 131 try: … … 445 458 """Create a new rrd with args""" 446 459 447 #return self.perform( 'create', '"' + filename + '"', args ) 448 return self.perform( 'create', filename, args ) 460 global MODRRDTOOL 461 462 if MODRRDTOOL: 463 return self.perform( 'create', filename, args ) 464 else: 465 return self.perform( 'create', '"' + filename + '"', args ) 449 466 450 467 def update( self, filename, args ): 451 468 """Update a rrd with args""" 452 469 453 #return self.perform( 'update', '"' + filename + '"', args ) 454 return self.perform( 'update', filename, args ) 470 global MODRRDTOOL 471 472 if MODRRDTOOL: 473 return self.perform( 'update', filename, args ) 474 else: 475 return self.perform( 'update', '"' + filename + '"', args ) 455 476 456 477 def grabLastUpdate( self, filename ): 457 478 """Determine the last update time of filename rrd""" 458 479 480 global MODRRDTOOL 481 459 482 last_update = 0 460 483 461 debug_msg( 8, 'rrdtool.info( ' + filename + ' )' ) 462 463 rrd_header = { } 464 465 try: 466 rrd_header = rrdtool.info( filename ) 467 except rrdtool.error, msg: 468 debug_msg( 8, str( msg ) ) 469 470 if rrd_header.has_key( 'last_update' ): 471 return last_update 484 if MODRRDTOOL: 485 486 debug_msg( 8, 'rrdtool.info( ' + filename + ' )' ) 487 488 rrd_header = { } 489 490 try: 491 rrd_header = rrdtool.info( filename ) 492 except rrdtool.error, msg: 493 debug_msg( 8, str( msg ) ) 494 495 if rrd_header.has_key( 'last_update' ): 496 return last_update 497 else: 498 return 0 499 472 500 else: 473 return 0 501 debug_msg( 8, self.binary + ' info ' + filename ) 502 503 my_pipe = os.popen( self.binary + ' info "' + filename + '"' ) 504 505 for line in my_pipe.readlines(): 506 507 if line.find( 'last_update') != -1: 508 509 last_update = line.split( ' = ' )[1] 510 511 if my_pipe: 512 513 my_pipe.close() 514 515 if last_update: 516 return last_update 517 else: 518 return 0 519 474 520 475 521 def perform( self, action, filename, args ): 476 522 """Perform action on rrd filename with args""" 523 524 global MODRRDTOOL 477 525 478 526 arg_string = None … … 490 538 arg_string = arg_string + ' ' + arg 491 539 492 debug_msg( 8, 'rrdtool.' + action + "( " + filename + ' ' + arg_string + ")" ) 493 494 try: 495 debug_msg( 8, "filename '" + str(filename) + "' type "+ str(type(filename)) + " args " + str( args ) ) 496 497 if action == 'create': 498 499 rrdtool.create( str( filename ), *args ) 500 501 elif action == 'update': 502 503 rrdtool.update( str( filename ), *args ) 504 505 except rrdtool.error, msg: 506 507 error_msg = str( msg ) 508 debug_msg( 8, error_msg ) 509 return 1 540 if MODRRDTOOL: 541 542 debug_msg( 8, 'rrdtool.' + action + "( " + filename + ' ' + arg_string + ")" ) 543 544 try: 545 debug_msg( 8, "filename '" + str(filename) + "' type "+ str(type(filename)) + " args " + str( args ) ) 546 547 if action == 'create': 548 549 rrdtool.create( str( filename ), *args ) 550 551 elif action == 'update': 552 553 rrdtool.update( str( filename ), *args ) 554 555 except rrdtool.error, msg: 556 557 error_msg = str( msg ) 558 debug_msg( 8, error_msg ) 559 return 1 560 561 else: 562 563 debug_msg( 8, self.binary + ' ' + action + ' ' + filename + ' ' + arg_string ) 564 565 cmd = os.popen( self.binary + ' ' + action + ' ' + filename + ' ' + arg_string ) 566 lines = cmd.readlines() 567 568 cmd.close() 569 570 for line in lines: 571 572 if line.find( 'ERROR' ) != -1: 573 574 error_msg = string.join( line.split( ' ' )[1:] ) 575 debug_msg( 8, error_msg ) 576 return 1 510 577 511 578 return 0 … … 1725 1792 """Program startup""" 1726 1793 1794 global DAEMONIZE, USE_SYSLOG 1795 1727 1796 if not processArgs( sys.argv[1:] ): 1728 1797 sys.exit( 1 )
Note: See TracChangeset
for help on using the changeset viewer.