Example #1
0
 def receive_test_data( self ):         
     """ """
     try:
         spot_sqs_message_durable = SqsMessageDurable( self.spot_master_queue_name, region_name=self.region_name, 
                                                  profile_name=self.profile_name)
         while True:
             message = spot_sqs_message_durable.receive_message();
             if message == None: break;
             spot_master_msg = SpotMasterMsg( raw_json=message.get_body() )
             logger.info('spot_master_msg: type=' + spot_master_msg.spot_master_msg_type )
             spot_sqs_message_durable.delete_message(message)
 
     except StandardError as e:
         logger.error( e )
         logger.error( traceback.format_exc() )
         sys.exit(8)
    def run(self):
        """ Read Master messages, launch Master microservice based on service_class_name message attribute """
        spot_master_sqs_message_durable = SqsMessageDurable( self.spot_master_queue_name, self.region_name, profile_name=self.profile_name )
        while True:
            try:
                logger.info('SpotMasterDispatcher loop')
                if self.is_shutdown: 
                    logger.info('Shutting down SpotMasterDispatcher' )
                    break;
                
                message = spot_master_sqs_message_durable.receive_message( message_attributes=['service_class_name'])
                if message == None: continue
                
                message_attribute = message.message_attributes['service_class_name']
                service_class_name = message_attribute['string_value']
                logger.info('Launching ' +  service_class_name )
                SpotMasterMicrosvcLauncher( service_class_name, message, self ).start()

    
            except StandardError as e:
                logger.error('Exiting SpotMasterDispatcher due to exception'  )
                logger.error( e )
                logger.error( traceback.format_exc() )