MCPcopy
hub / github.com/ModelTC/LightLLM / pd_handle_loop

Function pd_handle_loop

lightllm/server/httpserver/pd_loop.py:28–59  ·  view source on GitHub ↗
(manager: HttpServerManager)

Source from the content-addressed store, hash-verified

26
27
28async def pd_handle_loop(manager: HttpServerManager):
29 assert manager.args.host not in ["127.0.0.1", "localhost"], "pd mode must specify host ip"
30 if manager.args.host in ["0.0.0.0"]:
31 manager.host_ip = get_hostname_ip()
32 else:
33 manager.host_ip = manager.args.host
34
35 asyncio.create_task(timer_log(manager))
36
37 id_to_handle_task: Dict[int, asyncio.Task] = {}
38
39 while True:
40 try:
41 id_to_pd_master_obj = await _get_pd_master_objs(manager.args)
42 logger.info(f"get pd_master_objs {id_to_pd_master_obj}")
43
44 if id_to_pd_master_obj is not None:
45 for node_id, pd_master_obj in id_to_handle_task.items():
46 if node_id not in id_to_pd_master_obj:
47 id_to_handle_task[node_id].cancel()
48 id_to_handle_task.pop(node_id, None)
49 logger.info(f"pd_handle_task {pd_master_obj} cancelled")
50
51 for node_id, pd_master_obj in id_to_pd_master_obj.items():
52 if node_id not in id_to_handle_task:
53 id_to_handle_task[node_id] = asyncio.create_task(_pd_handle_task(manager, pd_master_obj))
54
55 await asyncio.sleep(30)
56
57 except Exception as e:
58 logger.exception(str(e))
59 await asyncio.sleep(10)
60
61
62async def _pd_handle_task(manager: HttpServerManager, pd_master_obj: PD_Master_Obj):

Callers 1

handle_loopMethod · 0.90

Calls 5

get_hostname_ipFunction · 0.90
timer_logFunction · 0.85
_get_pd_master_objsFunction · 0.85
_pd_handle_taskFunction · 0.85
popMethod · 0.80

Tested by

no test coverage detected