def __init__(self, worker_cls, consumer, config_path, consumer_name): self.consumer = consumer self.logger = self.consumer.logger = self.consumer.logger or LOGGER self.logger.setLevel(getattr(logging, self.consumer.log_level)) # setup flags self.inactivate_state = False self.stop_flag = False self.last_slept = 0 self.last_activity = time.time() # for IDE self.generator = [] self.logger.info('Using %s: %r', worker_cls.__name__, worker_cls) self.worker = worker_cls(self) ArkhamService.init_config(config_path) self.subscriber = ArkhamService.get_instance(consumer_name) self.setup_signal_handler() if self.consumer.enable_healthy_checker: self.setup_healthy_checker() self.callbacks = collect_period_callbacks(self.consumer)
def __init__(self, consumer, config_path, consumer_name): self.consumer = consumer self.logger = self.consumer.logger = self.consumer.logger or LOGGER self.logger.setLevel(getattr(logging, self.consumer.log_level)) # setup flags self.inactivate_state = False self.stop_flag = False self.last_activity = time.time() # for IDE self.generator = [] # early initialize worker so gevent can patch in time. assert self.consumer.worker_class in self.WORKER_CLASSES, ( "Unsupported worker class: `%s`" % self.consumer.worker_class ) worker_class = self.WORKER_CLASSES[self.consumer.worker_class] self.logger.info("Using %s worker: %r", self.consumer.worker_class, worker_class) self.worker = worker_class(self) ArkhamService.init_config(config_path) self.subscriber = ArkhamService.get_instance(consumer_name) self.setup_signal_handler() self.setup_healthy_checker() self.callbacks = collect_period_callbacks(self.consumer)
def rpc_entry(): cmd_args = parse_arguments() ArkhamService.init_config(find_config(cmd_args.config_path, cmd_args.entry_point)) server = load_entry_point(cmd_args.entry_point) assert isinstance(server, ArkhamRPCServer), 'consumer class must be subclass of ArkhamRPCServer' server.start(cmd_args.consumer_name)