85 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			85 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | import stomp | ||
|  | import time | ||
|  | import SullyGnomeRobot | ||
|  | import RestAPIClient | ||
|  | 
 | ||
|  | print("## ") | ||
|  | print("## starting > JMS consumer (yankee-sully-channels-monthly)") | ||
|  | print("## ") | ||
|  | 
 | ||
|  | class MyListener(stomp.ConnectionListener): | ||
|  | 
 | ||
|  |     def on_message(headers, message): | ||
|  | 
 | ||
|  |         print("** new message! **") | ||
|  | 
 | ||
|  |         print("message / ", message) | ||
|  | 
 | ||
|  |         print("messagebody / ", message.body) | ||
|  | 
 | ||
|  |         print("checking the value does or doesnt exist in db") | ||
|  | 
 | ||
|  |         alreadyExistsSuccess = RestAPIClient.searchURLSuccesses(message.body) | ||
|  | 
 | ||
|  |         print("alreadyExistsSuccess / ", alreadyExistsSuccess) | ||
|  | 
 | ||
|  |         if alreadyExistsSuccess.lower().strip() == "true": | ||
|  |      | ||
|  |             print("this record exists (successes). returning. doing nothing") | ||
|  | 
 | ||
|  |             return | ||
|  | 
 | ||
|  |         print("didn't exist in success. check in errors now.") | ||
|  | 
 | ||
|  |         alreadyExistsFailure = RestAPIClient.searchURLFailures(message.body) | ||
|  | 
 | ||
|  |         print("alreadyExistsFailure / ", alreadyExistsFailure) | ||
|  | 
 | ||
|  |         if alreadyExistsFailure.lower().strip() == "true": | ||
|  | 
 | ||
|  |             print("this record exists (failures). returning. doing nothing") | ||
|  | 
 | ||
|  |             return | ||
|  | 
 | ||
|  |         print("didn't exist in success or errors. will process now") | ||
|  | 
 | ||
|  |         try: | ||
|  |          | ||
|  |             SullyGnomeRobot.download(message.body) | ||
|  | 
 | ||
|  |         except Exception as e: | ||
|  | 
 | ||
|  |             print(f"exception / something went wrong when the sully gnome robot was downloading: {e}") | ||
|  | 
 | ||
|  |             RestAPIClient.addDownloadFailure(message.body) | ||
|  | 
 | ||
|  |     def on_error(headers, message): | ||
|  | 
 | ||
|  |         print('received an error "%s"' % message) | ||
|  |          | ||
|  |         RestAPIClient.addDownloadFailure(message.body) | ||
|  | 
 | ||
|  | print("## ") | ||
|  | print("## starting > JMS consumer (yankee-sully-channels-monthly)") | ||
|  | print("## ") | ||
|  | 
 | ||
|  | conn = stomp.Connection([('osiris.yankee.embanet.online', 61613)]) | ||
|  | 
 | ||
|  | conn.set_listener('', MyListener()) | ||
|  | 
 | ||
|  | conn.connect('admin', 'password', wait=True) | ||
|  | 
 | ||
|  | conn.subscribe('/queue/yankee-sully-channels-monthly', id=1, ack='auto', headers={'activemq.prefetchSize': 10}) | ||
|  | 
 | ||
|  | print("## ") | ||
|  | print("## notification > connected to JMS server (yankee-sully-channels-monthly)") | ||
|  | print("## ") | ||
|  | 
 | ||
|  | while True: | ||
|  | 
 | ||
|  |     pass | ||
|  | 
 | ||
|  |     time.sleep(1) | ||
|  |      | ||
|  | conn.disconnect() |