Skip to content

Commit 10385eb

Browse files
authored
Propagate extra server args to the gunicorn command (#291)
1 parent 2a33b1e commit 10385eb

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

model-engine/model_engine_server/inference/forwarding/echo_server.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def entrypoint():
3333
parser.add_argument("--host", type=str, default="[::]")
3434
parser.add_argument("--port", type=int, default=5009)
3535

36-
args = parser.parse_args()
36+
args, extra_args = parser.parse_known_args()
3737

3838
command = [
3939
"gunicorn",
@@ -48,6 +48,7 @@ def entrypoint():
4848
"--workers",
4949
str(args.num_workers),
5050
"model_engine_server.inference.forwarding.echo_server:app",
51+
*extra_args,
5152
]
5253
subprocess.run(command)
5354

model-engine/model_engine_server/inference/forwarding/http_forwarder.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,9 @@ def entrypoint():
138138
parser.add_argument("--host", type=str, default="[::]")
139139
parser.add_argument("--port", type=int, default=5000)
140140
parser.add_argument("--set", type=str, action="append")
141+
parser.add_argument("--graceful-timeout", type=int, default=600)
141142

142-
args = parser.parse_args()
143+
args, extra_args = parser.parse_known_args()
143144

144145
values = [f"CONFIG_FILE={args.config}"]
145146
if args.set is not None:
@@ -160,8 +161,11 @@ def entrypoint():
160161
"uvicorn.workers.UvicornWorker",
161162
"--workers",
162163
str(args.num_workers),
164+
"--graceful-timeout",
165+
str(args.graceful_timeout),
163166
*envs,
164167
"model_engine_server.inference.forwarding.http_forwarder:app",
168+
*extra_args,
165169
]
166170
subprocess.run(command)
167171

model-engine/model_engine_server/inference/sync_inference/start_fastapi_server.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import argparse
12
import os
23
import subprocess
34

@@ -8,6 +9,10 @@
89

910

1011
def start_server():
12+
parser = argparse.ArgumentParser()
13+
parser.add_argument("--graceful-timeout", type=int, default=600)
14+
args, extra_args = parser.parse_known_args()
15+
1116
# TODO: HTTPS
1217
command = [
1318
"gunicorn",
@@ -21,7 +26,10 @@ def start_server():
2126
"uvicorn.workers.UvicornWorker",
2227
"--workers",
2328
str(NUM_PROCESSES),
29+
"--graceful-timeout",
30+
str(args.graceful_timeout),
2431
"model_engine_server.inference.sync_inference.fastapi_server:app",
32+
*extra_args,
2533
]
2634
unset_sensitive_envvars()
2735
subprocess.run(command)

0 commit comments

Comments
 (0)