def _check_service_running(conf: 'IconConfig') -> bool: Logger.info(f'check_serve_icon_service!', ICON_SERVICE_CLI) proc_title = ICON_SERVICE_PROCTITLE_FORMAT.format(** {ConfigKey.SCORE_ROOT_PATH: conf[ConfigKey.SCORE_ROOT_PATH], ConfigKey.STATE_DB_ROOT_PATH: conf[ConfigKey.STATE_DB_ROOT_PATH], ConfigKey.CHANNEL: conf[ConfigKey.CHANNEL], ConfigKey.AMQP_KEY: conf[ConfigKey.AMQP_KEY], ConfigKey.AMQP_TARGET: conf[ConfigKey.AMQP_TARGET]}) return find_procs_by_params(proc_title)
def _check_if_process_running(conf: 'IconConfig') -> bool: proc_title = ICON_SERVICE_PROCTITLE_FORMAT.format(** {ConfigKey.SCORE_ROOT_PATH: conf[ConfigKey.SCORE_ROOT_PATH], ConfigKey.STATE_DB_ROOT_PATH: conf[ConfigKey.STATE_DB_ROOT_PATH], ConfigKey.CHANNEL: conf[ConfigKey.CHANNEL], ConfigKey.AMQP_KEY: conf[ConfigKey.AMQP_KEY], ConfigKey.AMQP_TARGET: conf[ConfigKey.AMQP_TARGET]}) cmd_lines = _get_process_command_list(b'icon_service.') if cmd_lines: for cmdline in cmd_lines: if cmdline == proc_title: return True return False
def main(): parser = argparse.ArgumentParser() parser.add_argument("-sc", dest=ConfigKey.SCORE_ROOT_PATH, type=str, default=None, help="icon score root path example : .score") parser.add_argument("-st", dest=ConfigKey.STATE_DB_ROOT_PATH, type=str, default=None, help="icon score state db root path example : .statedb") parser.add_argument("-ch", dest=ConfigKey.CHANNEL, type=str, default=None, help="icon score channel") parser.add_argument("-ak", dest=ConfigKey.AMQP_KEY, type=str, default=None, help="icon score amqp_key : [amqp_key]") parser.add_argument("-at", dest=ConfigKey.AMQP_TARGET, type=str, default=None, help="icon score amqp_target : [127.0.0.1]") parser.add_argument("-c", dest=ConfigKey.CONFIG, type=str, default=None, help="icon score config") parser.add_argument("-tbears", dest=ConfigKey.TBEARS_MODE, action='store_true', help="tbears mode") parser.add_argument("-steptrace", dest=ConfigKey.STEP_TRACE_FLAG, action="store_true", help="enable step tracing") args = parser.parse_args() args_params = dict(vars(args)) del args_params['config'] setproctitle.setproctitle(ICON_SERVICE_PROCTITLE_FORMAT.format(**args_params)) conf_path = args.config if conf_path is not None: if not IconConfig.valid_conf_path(conf_path): print(f'invalid config file : {conf_path}') sys.exit(ExitCode.INVALID_COMMAND.value) if conf_path is None: conf_path = str() conf = IconConfig(conf_path, copy.deepcopy(default_icon_config)) conf.load() conf.update_conf(args_to_dict(args)) Logger.load_config(conf) if not check_config(conf, default_icon_config): Logger.error(tag=_TAG, msg=f"Invalid Config") sys.exit(ExitCode.INVALID_CONFIG.value) Logger.print_config(conf, _TAG) _run_async(_check_rabbitmq(conf[ConfigKey.AMQP_TARGET])) icon_service = IconService() icon_service.serve(config=conf) Logger.info(f'==========IconService Done==========', _TAG)