提交 7dc9c837 编写于 作者: T TeslaZhao 提交者: felixhjh

Merge pull request #1470 from felixhjh/dev_local

local predictor+web stop gracefully
上级 724bdcbc
...@@ -59,16 +59,19 @@ def kill_stop_process_by_pid(command : str, pid : int): ...@@ -59,16 +59,19 @@ def kill_stop_process_by_pid(command : str, pid : int):
if not pid_is_exist(pid): if not pid_is_exist(pid):
print("Process [%s] has been stopped."%pid) print("Process [%s] has been stopped."%pid)
return return
try: if platform.system() == "Windows":
if command == "stop": os.kill(pid, signal.SIGINT)
os.killpg(pid, signal.SIGINT) else:
elif command == "kill": try:
os.killpg(pid, signal.SIGKILL) if command == "stop":
except ProcessLookupError: os.killpg(pid, signal.SIGINT)
if command == "stop": elif command == "kill":
os.kill(pid, signal.SIGINT) os.killpg(pid, signal.SIGKILL)
elif command == "kill": except ProcessLookupError:
os.kill(pid, signal.SIGKILL) if command == "stop":
os.kill(pid, signal.SIGINT)
elif command == "kill":
os.kill(pid, signal.SIGKILL)
def dump_pid_file(portList, model): def dump_pid_file(portList, model):
''' '''
......
...@@ -28,6 +28,7 @@ import os ...@@ -28,6 +28,7 @@ import os
from paddle_serving_server import pipeline from paddle_serving_server import pipeline
from paddle_serving_server.pipeline import Op from paddle_serving_server.pipeline import Op
from paddle_serving_server.serve import format_gpu_to_strlist from paddle_serving_server.serve import format_gpu_to_strlist
from paddle_serving_server.util import dump_pid_file
def port_is_available(port): def port_is_available(port):
...@@ -260,7 +261,9 @@ class WebService(object): ...@@ -260,7 +261,9 @@ class WebService(object):
self.gpu_multi_stream = gpu_multi_stream self.gpu_multi_stream = gpu_multi_stream
self.op_num = op_num self.op_num = op_num
self.op_max_batch = op_max_batch self.op_max_batch = op_max_batch
# record port and pid info for stopping process
dump_pid_file([self.port], "web_service")
# if gpuid != None, we will use gpuid first. # if gpuid != None, we will use gpuid first.
# otherwise, keep the self.gpus unchanged. # otherwise, keep the self.gpus unchanged.
# maybe self.gpus is set by the Function set_gpus. # maybe self.gpus is set by the Function set_gpus.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册