From 1438ac6107865f1440a6d6aea82c602f84898203 Mon Sep 17 00:00:00 2001 From: Michael Basnight Date: Thu, 6 Dec 2012 11:51:37 -0600 Subject: Make wsgi.Server comply with service.Launcher interface fixes LP 1087369 Change-Id: Icf222b5bffe1f40a5c325ffe2a1b397f22713c00 --- openstack/common/wsgi.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'openstack') diff --git a/openstack/common/wsgi.py b/openstack/common/wsgi.py index 60b14ef..f52fca0 100644 --- a/openstack/common/wsgi.py +++ b/openstack/common/wsgi.py @@ -55,27 +55,32 @@ class Service(service.Service): Launcher classes in service.py. """ - def __init__(self, threads=1000): + def __init__(self, application, port, + host='0.0.0.0', backlog=128, threads=1000): + self.application = application + self._port = port + self._host = host + self.backlog = backlog super(Service, self).__init__(threads) - def start(self, application, port, host='0.0.0.0', backlog=128): + def start(self): """Start serving this service using the provided server instance. :returns: None """ super(Service, self).start() - socket = eventlet.listen((host, port), backlog=backlog) - (self._host, self._port) = socket.getsockname() - self.tg.add_thread(self._run, application, socket) + self._socket = eventlet.listen((self._host, self._port), + backlog=self.backlog) + self.tg.add_thread(self._run, self.application, self._socket) @property def host(self): - return self._host + return self._socket.getsockname()[0] if self._socket else self._host @property def port(self): - return self._port + return self._socket.getsockname()[1] if self._socket else self._port def stop(self): """Stop serving this API. -- cgit