mirror of https://github.com/D4-project/d4-core
				
				
				
			chg: [analyzer] add default stdout analyzer
							parent
							
								
									868777eba5
								
							
						
					
					
						commit
						489ce2c955
					
				|  | @ -0,0 +1,78 @@ | |||
| #!/usr/bin/env python3 | ||||
| 
 | ||||
| import os | ||||
| import sys | ||||
| 
 | ||||
| import redis | ||||
| import time | ||||
| import datetime | ||||
| 
 | ||||
| import argparse | ||||
| import logging | ||||
| import logging.handlers | ||||
| 
 | ||||
| host_redis='127.0.0.1' | ||||
| port_redis=6380 | ||||
| 
 | ||||
| redis_d4= redis.StrictRedis( | ||||
|                     host=host_redis, | ||||
|                     port=port_redis, | ||||
|                     db=2) | ||||
| try: | ||||
|     redis_d4.ping() | ||||
| except redis.exceptions.ConnectionError: | ||||
|     print('Error: Redis server {}:{}, ConnectionError'.format(host_redis, port_redis)) | ||||
|     sys.exit(1) | ||||
| 
 | ||||
| 
 | ||||
| if __name__ == "__main__": | ||||
|     parser = argparse.ArgumentParser(description='Export d4 data to stdout') | ||||
|     parser.add_argument('-t', '--type', help='d4 type' , type=int, dest='type') | ||||
|     parser.add_argument('-u', '--uuid', help='queue uuid' , type=str, dest='uuid') | ||||
|     parser.add_argument('-i', '--ip',help='redis host' , type=str, default='127.0.0.1', dest='host_redis') | ||||
|     parser.add_argument('-p', '--port',help='redis port' , type=int, default=6380, dest='port_redis') | ||||
|     args = parser.parse_args() | ||||
| 
 | ||||
|     if not args.uuid or not args.type: | ||||
|         parser.print_help() | ||||
|         sys.exit(0) | ||||
| 
 | ||||
|     host_redis=args.host_redis | ||||
|     port_redis=args.port_redis | ||||
| 
 | ||||
|     redis_d4= redis.StrictRedis( | ||||
|                         host=host_redis, | ||||
|                         port=port_redis, | ||||
|                         db=2) | ||||
|     try: | ||||
|         redis_d4.ping() | ||||
|     except redis.exceptions.ConnectionError: | ||||
|         print('Error: Redis server {}:{}, ConnectionError'.format(host_redis, port_redis)) | ||||
|         sys.exit(1) | ||||
| 
 | ||||
|     # logs_dir = 'logs' | ||||
|     # if not os.path.isdir(logs_dir): | ||||
|     #     os.makedirs(logs_dir) | ||||
|     # | ||||
|     # log_filename = 'logs/d4-stdout.log' | ||||
|     # logger = logging.getLogger() | ||||
|     # formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') | ||||
|     # handler_log = logging.handlers.TimedRotatingFileHandler(log_filename, when="midnight", interval=1) | ||||
|     # handler_log.suffix = '%Y-%m-%d.log' | ||||
|     # handler_log.setFormatter(formatter) | ||||
|     # logger.addHandler(handler_log) | ||||
|     # logger.setLevel(args.verbose) | ||||
|     # | ||||
|     # logger.info('Launching stdout Analyzer ...') | ||||
| 
 | ||||
|     d4_uuid = args.uuid | ||||
|     d4_type = args.type | ||||
| 
 | ||||
|     data_queue = 'analyzer:{}:{}'.format(d4_type, d4_uuid) | ||||
| 
 | ||||
|     while True: | ||||
|         d4_data = redis_d4.rpop(data_queue) | ||||
|         if d4_data is None: | ||||
|             time.sleep(1) | ||||
|             continue | ||||
|         sys.stdout.buffer.write(d4_data) | ||||
		Loading…
	
		Reference in New Issue
	
	 Terrtia
						Terrtia