diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-12-12 20:48:58 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-12-12 20:48:58 +0000 |
| commit | 91c9631bd3e3a0c72b36840ddf90e1db483f9a14 (patch) | |
| tree | ba43b8d8757de7e3063566de9ac02bc5b2d4b090 /openstack | |
| parent | e6c576d9b08e96b0dcd6b630eefa84fa1bec9f16 (diff) | |
| parent | 1438ac6107865f1440a6d6aea82c602f84898203 (diff) | |
| download | oslo-91c9631bd3e3a0c72b36840ddf90e1db483f9a14.tar.gz oslo-91c9631bd3e3a0c72b36840ddf90e1db483f9a14.tar.xz oslo-91c9631bd3e3a0c72b36840ddf90e1db483f9a14.zip | |
Merge "Make wsgi.Server comply with service.Launcher interface"
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. |
