Skip to content

Commit aedceb7

Browse files
authored
start engine loop on server startup event (#3523)
* warmup engine api * no need to warmup
1 parent 2831c3a commit aedceb7

File tree

3 files changed

+17
-0
lines changed

3 files changed

+17
-0
lines changed

lmdeploy/pytorch/engine/engine.py

+7
Original file line numberDiff line numberDiff line change
@@ -1125,3 +1125,10 @@ def create_instance(self, cuda_stream_id=0):
11251125
"""
11261126
from .engine_instance import EngineInstance
11271127
return EngineInstance(self)
1128+
1129+
def start_loop(self):
1130+
"""start engine loop."""
1131+
if self.req_manager.is_loop_alive():
1132+
return True
1133+
self.req_manager.create_loop_task()
1134+
return True

lmdeploy/serve/async_engine.py

+7
Original file line numberDiff line numberDiff line change
@@ -897,6 +897,13 @@ def _gen():
897897

898898
return session
899899

900+
def start_loop(self):
901+
"""start engine loop."""
902+
if hasattr(self.engine, 'start_loop'):
903+
return self.engine.start_loop()
904+
else:
905+
return True
906+
900907
""" DistServe Async Engine API Begin """
901908

902909
def free_cache(self, session_id: int):

lmdeploy/serve/openai/api_server.py

+3
Original file line numberDiff line numberDiff line change
@@ -1065,6 +1065,9 @@ def dummy_get_device_id():
10651065

10661066
@router.on_event('startup')
10671067
async def startup_event():
1068+
async_engine = VariableInterface.async_engine
1069+
async_engine.start_loop()
1070+
10681071
if VariableInterface.proxy_url is None:
10691072
return
10701073
try:

0 commit comments

Comments
 (0)