local_server: Add --port option.
Also, only use 1 worker process. This reduces the log noise when you interrupt
the server, as each child process dumps a stacktrace.
BUG=chromium:756762
TEST=Used it.
Change-Id: If28c0478a69b3b54395e84e734ca26b9e64e63fc
diff --git a/bin/local_server b/bin/local_server
index 911526a..77c7af8 100755
--- a/bin/local_server
+++ b/bin/local_server
@@ -8,14 +8,15 @@
import os
import subprocess
+import fire
from werkzeug import security
-CMD = tuple(
- 'gunicorn -c gunicorn.conf.py -b :8080 main:app --reload'.split())
-
-def LocalServer():
+def LocalServer(port=8080):
"""Starts a local development server with autoreload."""
+ cmd = tuple(
+ 'gunicorn -b=:{port} main:app --workers=1'
+ ' --reload'.format(port=int(port)).split())
password = getpass.getpass()
hashed = security.generate_password_hash(password)
env = dict(
@@ -24,8 +25,8 @@
CIDB_CRED_DIR='creds/cidb.dbg',
DEBUG='True',
IS_SERVICE='False')
- subprocess.call(CMD, env=env)
+ subprocess.call(cmd, env=env)
if __name__ == '__main__':
- LocalServer()
+ fire.Fire(LocalServer)