Example #1
0
class AppCreator(threading.Thread):
    
    def __init__(self, cfg, broker_producer, consumer_cfg, class_cfg):
        self.logger = logging.getLogger(__name__ + "." + self.__class__.__name__)
        threading.Thread.__init__(self)
        
        self.logger.debug("Creating app; Consumer Config: %s, Class: %s..." % (consumer_cfg, class_cfg))
        
        # ## Load configurations
        self.configurator = Cfg()
        
        self.cfg = cfg
        self.broker_producer = broker_producer
        self.consumer_cfg = consumer_cfg
        self.class_cfg = class_cfg
        
    def run(self, ):
        # ## Configure Message Consumer service
        self.logger.info("Getting Message Consumer Service...")
        msg_consumer_class = self.configurator.get_class(
            self.consumer_cfg["class"])
        msg_consumer_service = msg_consumer_class(
            self.consumer_cfg["url"],
            self.consumer_cfg["topic"])
        
        # ## Configure data parsers
        self.logger.info("Configuring data parsers...")
        csv_class = self.configurator.get_class(
            self.class_cfg)
        csv_class(
            self.cfg, self.broker_producer,
            msg_consumer_service).run()