import logging from logging.handlers import SocketHandler from multiprocessing import Process, Queue from trajpred.config import parser from trajpred.prediction_server import InferenceServer, run_inference_server from trajpred.socket_forwarder import run_ws_forwarder logger = logging.getLogger("trajpred.plumbing") def start(): args = parser.parse_args() loglevel = logging.NOTSET if args.verbose > 1 else logging.DEBUG if args.verbose > 0 else logging.INFO logging.basicConfig( level=loglevel, ) if args.remote_log_addr: logging.captureWarnings(True) root_logger = logging.getLogger() root_logger.setLevel(logging.NOTSET) # to send all records to cutelog socket_handler = SocketHandler(args.remote_log_addr, args.remote_log_port) root_logger.addHandler(socket_handler) # instantiating process with arguments procs = [ Process(target=run_ws_forwarder, args=(args,)) ] if not args.bypass_prediction: procs.append( Process(target=run_inference_server, args=(args,)), ) logger.info("start") for proc in procs: proc.start() for proc in procs: proc.join()