Move multi-tokenizer event loop to better place (#9902)
Signed-off-by: Shangming Cai <csmthu@gmail.com>
This commit is contained in:
@@ -39,7 +39,6 @@ from sglang.srt.server_args import PortArgs, ServerArgs
|
||||
from sglang.srt.utils import (
|
||||
configure_logger,
|
||||
freeze_gc,
|
||||
get_worker_ids_from_req_rids,
|
||||
get_zmq_socket,
|
||||
kill_itself_when_parent_died,
|
||||
)
|
||||
@@ -120,39 +119,6 @@ class DetokenizerManager(MultiTokenizerMixin):
|
||||
if output is not None:
|
||||
self.send_to_tokenizer.send_pyobj(output)
|
||||
|
||||
def multi_tokenizer_manager_event_loop(self):
|
||||
"""The event loop that handles requests, for multi tokenizer manager mode only"""
|
||||
self.create_sockets_mapping()
|
||||
while True:
|
||||
recv_obj = self.recv_from_scheduler.recv_pyobj()
|
||||
output = self._request_dispatcher(recv_obj)
|
||||
if output is None:
|
||||
continue
|
||||
# Extract worker_id from rid
|
||||
if isinstance(recv_obj.rids, list):
|
||||
worker_ids = get_worker_ids_from_req_rids(recv_obj.rids)
|
||||
else:
|
||||
raise RuntimeError(
|
||||
f"for tokenizer_worker_num > 1, recv_obj.rids must be a list"
|
||||
)
|
||||
|
||||
# Send data using the corresponding socket
|
||||
for i, worker_id in enumerate(worker_ids):
|
||||
if isinstance(recv_obj, MultiTokenizerRegisterReq):
|
||||
if self.register_tokenizer_ipc(recv_obj, worker_id):
|
||||
logger.info(
|
||||
f"DetokenizerManager Created ZMQ socket for worker {worker_id}"
|
||||
)
|
||||
continue
|
||||
else:
|
||||
if worker_id not in self.tokenizer_mapping:
|
||||
logger.error(
|
||||
f"Tokenizer Worker ID {worker_id} not registered. Check if the server Process {worker_id} is alive"
|
||||
)
|
||||
continue
|
||||
new_output = self._handle_output_by_index(output, i)
|
||||
self.tokenizer_mapping[worker_id].send_pyobj(new_output)
|
||||
|
||||
def trim_matched_stop(
|
||||
self, output: Union[str, List[int]], finished_reason: Dict, no_stop_trim: bool
|
||||
):
|
||||
|
||||
Reference in New Issue
Block a user