From 24f681de895491b5cfbb0695a6949e9533ee1244 Mon Sep 17 00:00:00 2001 From: Matthew Scragg Date: Sun, 30 Aug 2015 17:02:46 -0500 Subject: [PATCH] Check if PID file is writeable before starting server Set path prefix for gunicorn when inside virtualenv --- realms/commands.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/realms/commands.py b/realms/commands.py index 2139ccd..1a9b3fa 100644 --- a/realms/commands.py +++ b/realms/commands.py @@ -288,6 +288,12 @@ def start_server(): yellow("Server is already running") return + try: + open(config.PIDFILE, 'w') + except IOError: + red("PID file not writeable (%s) " % config.PIDFILE) + return + flags = '--daemon --pid %s' % config.PIDFILE green("Server started. Port: %s" % config.PORT) @@ -298,8 +304,12 @@ def start_server(): else: yellow("Using default configuration") - Popen("gunicorn 'realms:create_app()' -b 0.0.0.0:%s -k gevent %s" % - (config.PORT, flags), shell=True, executable='/bin/bash') + prefix = '' + if in_virtualenv(): + prefix = get_prefix() + "/bin/" + + Popen("%sgunicorn 'realms:create_app()' -b 0.0.0.0:%s -k gevent %s" % + (prefix, config.PORT, flags), shell=True, executable='/bin/bash') def stop_server():