コード例 #1
0
ファイル: icon_service_cli.py プロジェクト: icona2/crawling
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)
コード例 #2
0
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
コード例 #3
0
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)