some fixes. Now we have daemonized mode and pidfile.

This commit is contained in:
Benoit Chesneau 2010-01-30 02:28:49 +01:00
parent ced1f39020
commit 4be8e9f0ee
3 changed files with 6 additions and 8 deletions

View File

@ -206,13 +206,13 @@ class Arbiter(object):
except StopIteration:
break
except KeyboardInterrupt:
self.stop(False)
self.stop()
sys.exit(-1)
except Exception:
self.log.exception("Unhandled exception in main loop.")
self.log.info("Unhandled exception in main loop.")
self.stop(False)
sys.exit(-1)
self.stop()
self.log.info("Master is shutting down.")
if self.pidfile:

View File

@ -32,7 +32,7 @@ def options():
help='Number of workers to spawn. [%default]'),
op.make_option('-p','--pid', dest='pidfile',
help='set the background PID FILE'),
op.make_option('-D', '--daemon', dest='daemon',
op.make_option('-D', '--daemon', dest='daemon', action="store_true",
help='Run daemonized in the background.'),
op.make_option('--log-level', dest='loglevel', default='info',
help='Log level below which to silence messages. [%default]'),
@ -57,7 +57,7 @@ def configure_logging(opts):
h.setFormatter(logging.Formatter("%(levelname)s %(message)s"))
logger.addHandler(h)
def daemonize(logger):
def daemonize():
if not 'GUNICORN_FD' in os.environ:
if os.fork() == 0:
os.setsid()
@ -105,7 +105,6 @@ def main(usage, get_app):
pidfile=opts.pidfile
)
arbiter = Arbiter((host,port), workers, app,
**kwargs)
if opts.daemon:

View File

@ -125,12 +125,11 @@ class Worker(object):
break
if e[0] == errno.EBADF:
if nr >= 0:
return
break
raise
spinner = (spinner+1) % 2
self._fchmod(spinner)
sys.exit(0)
def handle(self, client, addr):
util.close_on_exec(client)