提交 80aa6381 编写于 作者: F felixhjh

local predictor+web stop gracefully

上级 717f255e
......@@ -59,16 +59,19 @@ def kill_stop_process_by_pid(command : str, pid : int):
if not pid_is_exist(pid):
print("Process [%s] has been stopped."%pid)
return
try:
if command == "stop":
os.killpg(pid, signal.SIGINT)
elif command == "kill":
os.killpg(pid, signal.SIGKILL)
except ProcessLookupError:
if command == "stop":
os.kill(pid, signal.SIGINT)
elif command == "kill":
os.kill(pid, signal.SIGKILL)
if platform.system() == "Windows":
os.kill(pid, signal.SIGINT)
else:
try:
if command == "stop":
os.killpg(pid, signal.SIGINT)
elif command == "kill":
os.killpg(pid, signal.SIGKILL)
except ProcessLookupError:
if command == "stop":
os.kill(pid, signal.SIGINT)
elif command == "kill":
os.kill(pid, signal.SIGKILL)
def dump_pid_file(portList, model):
'''
......
......@@ -28,6 +28,7 @@ import os
from paddle_serving_server import pipeline
from paddle_serving_server.pipeline import Op
from paddle_serving_server.serve import format_gpu_to_strlist
from paddle_serving_server.util import dump_pid_file
def port_is_available(port):
......@@ -260,7 +261,9 @@ class WebService(object):
self.gpu_multi_stream = gpu_multi_stream
self.op_num = op_num
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.
# otherwise, keep the self.gpus unchanged.
# 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.
先完成此消息的编辑!
想要评论请 注册