diff options
| author | Michael Basnight <mbasnight@gmail.com> | 2012-12-06 11:51:37 -0600 |
|---|---|---|
| committer | Michael Basnight <mbasnight@gmail.com> | 2012-12-10 12:54:17 -0600 |
| commit | 1438ac6107865f1440a6d6aea82c602f84898203 (patch) | |
| tree | e2873873cfe8d2a32b5ccf39121545359e97f6c2 /openstack | |
| parent | 7cf016a21558803039cfadd2b98cc5cab528972f (diff) | |
| download | oslo-1438ac6107865f1440a6d6aea82c602f84898203.tar.gz oslo-1438ac6107865f1440a6d6aea82c602f84898203.tar.xz oslo-1438ac6107865f1440a6d6aea82c602f84898203.zip | |
Make wsgi.Server comply with service.Launcher interface
fixes LP 1087369
Change-Id: Icf222b5bffe1f40a5c325ffe2a1b397f22713c00
Diffstat (limited to 'openstack')
| -rw-r--r-- | openstack/common/wsgi.py | 19 |
1 files changed, 12 insertions, 7 deletions
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. |
