(args, next_module_port, visual_port, cache_port, model_rpc_ports, pipe_writer)
| 178 | |
| 179 | |
| 180 | def start_visual_process(args, next_module_port, visual_port, cache_port, model_rpc_ports, pipe_writer): |
| 181 | # 注册graceful 退出的处理 |
| 182 | graceful_registry(inspect.currentframe().f_code.co_name) |
| 183 | setproctitle.setproctitle(f"lightllm::{get_unique_server_name()}::visual_server") |
| 184 | start_parent_check_thread() |
| 185 | try: |
| 186 | visualserver = VisualManager(args, next_module_port, visual_port, cache_port, model_rpc_ports) |
| 187 | asyncio.run(visualserver.wait_to_model_ready()) |
| 188 | except Exception as e: |
| 189 | logger.exception(str(e)) |
| 190 | visualserver.clean_up() |
| 191 | raise e |
| 192 | |
| 193 | pipe_writer.send("init ok") |
| 194 | |
| 195 | def handle_exception(loop, context): |
| 196 | logger.exception(f"VisualServer Caught exception: {str(context)}") |
| 197 | |
| 198 | loop = asyncio.new_event_loop() |
| 199 | loop.set_exception_handler(handle_exception) |
| 200 | asyncio.set_event_loop(loop) |
| 201 | loop.create_task(visualserver.loop_for_fwd()) |
| 202 | loop.run_until_complete(visualserver.loop_for_netio_req()) |
| 203 | return |
nothing calls this directly
no test coverage detected