You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ariatosca.apache.org by mx...@apache.org on 2017/05/24 09:07:36 UTC
incubator-ariatosca git commit: shuffled things around
Repository: incubator-ariatosca
Updated Branches:
refs/heads/ARIA-185-NullPool-logging-messages-appear-during-execution ec8effbdb -> 41e967fe7
shuffled things around
Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/41e967fe
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/41e967fe
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/41e967fe
Branch: refs/heads/ARIA-185-NullPool-logging-messages-appear-during-execution
Commit: 41e967fe7a9ad563c0715e6adb347a9d2bd434cc
Parents: ec8effb
Author: max-orlov <ma...@gigaspaces.com>
Authored: Wed May 24 12:07:32 2017 +0300
Committer: max-orlov <ma...@gigaspaces.com>
Committed: Wed May 24 12:07:32 2017 +0300
----------------------------------------------------------------------
.../execution_plugin/ctx_proxy/server.py | 22 ++++++++++----------
1 file changed, 11 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/41e967fe/aria/orchestrator/execution_plugin/ctx_proxy/server.py
----------------------------------------------------------------------
diff --git a/aria/orchestrator/execution_plugin/ctx_proxy/server.py b/aria/orchestrator/execution_plugin/ctx_proxy/server.py
index d59e7bf..bc89fde 100644
--- a/aria/orchestrator/execution_plugin/ctx_proxy/server.py
+++ b/aria/orchestrator/execution_plugin/ctx_proxy/server.py
@@ -37,18 +37,14 @@ class CtxProxy(object):
self.port = _get_unused_port()
self.socket_url = 'http://localhost:{0}'.format(self.port)
self.server = None
- self.bottle_server = None
self._started = Queue.Queue(1)
self.thread = self._start_server()
self._started.get(timeout=5)
def _start_server(self):
- proxy = self
class BottleServerAdapter(bottle.ServerAdapter):
- def __init__(self, _session, *args, **kwargs):
- super(BottleServerAdapter, self).__init__(*args, **kwargs)
- self._session = _session
+ proxy = self
def run(self, app):
@@ -56,15 +52,20 @@ class CtxProxy(object):
allow_reuse_address = True
bottle_server = self
+ def close_session(self):
+ self.bottle_server.proxy.ctx.model.log._session.remove()
+
def handle_error(self, request, client_address):
pass
def serve_forever(self, poll_interval=0.5):
try:
wsgiref.simple_server.WSGIServer.serve_forever(self, poll_interval)
- # Once shutdown is called, we need to close the session
finally:
- self.bottle_server._session.remove()
+ # Once shutdown is called, we need to close the session.
+ # If the session is not closed properly, it might raise warnings,
+ # or even lock the database.
+ self.close_session()
class Handler(wsgiref.simple_server.WSGIRequestHandler):
def address_string(self):
@@ -80,8 +81,8 @@ class CtxProxy(object):
app=app,
server_class=Server,
handler_class=Handler)
- proxy.server = server
- proxy._started.put(True)
+ self.proxy.server = server
+ self.proxy._started.put(True)
server.serve_forever(poll_interval=0.1)
def serve():
@@ -95,8 +96,7 @@ class CtxProxy(object):
host='localhost',
port=self.port,
quiet=True,
- server=BottleServerAdapter,
- _session=proxy.ctx.model.log._session)
+ server=BottleServerAdapter)
thread = threading.Thread(target=serve)
thread.daemon = True
thread.start()