示例#1
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("-b",
                        "--backend",
                        nargs='?',
                        default=root.common.graphics.matplotlib.backend,
                        help="Matplotlib drawing backend. \"no\" value disable"
                        "s any real plotting (useful with --dump).")
    parser.add_argument("-e",
                        "--endpoint",
                        required=True,
                        help="ZeroMQ endpoint to receive updates from.")
    parser.add_argument("--webagg-discovery-fifo",
                        nargs='?',
                        default=None,
                        help="Matplotlib drawing backend.")
    LOG_LEVEL_MAP = {
        "debug": logging.DEBUG,
        "info": logging.INFO,
        "warning": logging.WARNING,
        "error": logging.ERROR
    }
    parser.add_argument("-v",
                        "--verbose",
                        type=str,
                        default="info",
                        choices=LOG_LEVEL_MAP.keys(),
                        help="set verbosity level [default: %(default)s]")
    parser.add_argument("-d",
                        "--dump",
                        type=str,
                        default="",
                        help="Dump incoming messages to this directory.")
    cmdargs = parser.parse_args()

    log_level = LOG_LEVEL_MAP[cmdargs.verbose]
    Logger.setup_logging(level=log_level)
    if log_level == logging.DEBUG:
        setup_pickle_debug()

    client = GraphicsClient(cmdargs.backend,
                            cmdargs.endpoint,
                            webagg_fifo=cmdargs.webagg_discovery_fifo,
                            dump_dir=cmdargs.dump)
    if log_level == logging.DEBUG:
        client.debug("Activated pickle debugging")
    if cmdargs.backend == "WebAgg":
        client_thread = threading.Thread(target=client.run)
        client_thread.start()
        reactor.run()
        client_thread.join()
    else:
        client.run()
示例#2
0
    def run(self):
        """Entry point for the VELES execution engine.
        """
        veles.validate_environment()

        ret = self._process_special_args()
        if ret is not None:
            return ret
        parser = Main.init_parser()
        args = parser.parse_args(self.argv)
        self._apply_args(args)

        self.setup_logging(args.verbosity)
        self._print_logo(args)
        for name in filter(str.strip, args.debug.split(',')):
            logging.getLogger(name).setLevel(logging.DEBUG)
        self._seed_random(args.random_seed)
        if args.debug_pickle:
            setup_pickle_debug()
        ThreadPool.reset()
        self._register_print_max_rss()

        if self.logger.isEnabledFor(logging.DEBUG):
            self._print_config(root)
        wm = self._load_model(self.workflow_file)
        self._apply_config(self.config_file)
        self._override_config(args.config_list)
        if self.logger.isEnabledFor(logging.DEBUG):
            self._print_config(root)

        self._run_core(wm)

        if not self.interactive:
            self.info("End of job")
        else:
            self.info("\033[1;35mReturned the control\033[0m")
        return Main.EXIT_SUCCESS
示例#3
0
    def run(self):
        """Entry point for the VELES execution engine.
        """
        veles.validate_environment()

        ret = self._process_special_args()
        if ret is not None:
            return ret
        parser = Main.init_parser()
        args = parser.parse_args(self.argv)
        self._apply_args(args)

        self.setup_logging(args.verbosity)
        self._print_logo(args)
        for name in filter(str.strip, args.debug.split(',')):
            logging.getLogger(name).setLevel(logging.DEBUG)
        self._seed_random(args.random_seed)
        if args.debug_pickle:
            setup_pickle_debug()
        ThreadPool.reset()
        self._register_print_max_rss()

        if self.logger.isEnabledFor(logging.DEBUG):
            self._print_config(root)
        wm = self._load_model(self.workflow_file)
        self._apply_config(self.config_file)
        self._override_config(args.config_list)
        if self.logger.isEnabledFor(logging.DEBUG):
            self._print_config(root)

        self._run_core(wm)

        if not self.interactive:
            self.info("End of job")
        else:
            self.info("\033[1;35mReturned the control\033[0m")
        return Main.EXIT_SUCCESS
示例#4
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("-b", "--backend", nargs='?',
                        default=root.common.graphics.matplotlib.backend,
                        help="Matplotlib drawing backend. \"no\" value disable"
                             "s any real plotting (useful with --dump).")
    parser.add_argument("-e", "--endpoint", required=True,
                        help="ZeroMQ endpoint to receive updates from.")
    parser.add_argument("--webagg-discovery-fifo", nargs='?',
                        default=None, help="Matplotlib drawing backend.")
    LOG_LEVEL_MAP = {"debug": logging.DEBUG, "info": logging.INFO,
                     "warning": logging.WARNING, "error": logging.ERROR}
    parser.add_argument("-v", "--verbose", type=str, default="info",
                        choices=LOG_LEVEL_MAP.keys(),
                        help="set verbosity level [default: %(default)s]")
    parser.add_argument("-d", "--dump", type=str, default="",
                        help="Dump incoming messages to this directory.")
    cmdargs = parser.parse_args()

    log_level = LOG_LEVEL_MAP[cmdargs.verbose]
    Logger.setup_logging(level=log_level)
    if log_level == logging.DEBUG:
        setup_pickle_debug()

    client = GraphicsClient(cmdargs.backend, cmdargs.endpoint,
                            webagg_fifo=cmdargs.webagg_discovery_fifo,
                            dump_dir=cmdargs.dump)
    if log_level == logging.DEBUG:
        client.debug("Activated pickle debugging")
    if cmdargs.backend == "WebAgg":
        client_thread = threading.Thread(target=client.run)
        client_thread.start()
        reactor.run()
        client_thread.join()
    else:
        client.run()