summaryrefslogtreecommitdiff
path: root/server/src/leap/soledad/server/entrypoint.py
diff options
context:
space:
mode:
authorKali Kaneko <kali@leap.se>2017-02-17 16:52:07 +0100
committerKali Kaneko <kali@leap.se>2017-02-17 21:03:03 +0100
commit193573cf8d44a3b6a7d8ae0e43988cffb38a428a (patch)
tree08c2b3a4c47c8e21fee25a06f0f8690d4c8ca258 /server/src/leap/soledad/server/entrypoint.py
parentbab34cde11bdeb2810cc9f5d223957af26b2b6d3 (diff)
[bug] reuse wsgi threadpool
it seems evident that the functions were thought to pass a threadpool along, but it finally wasn't properly passed and so there was a new threadpool created to handle every resource. I have removed the creation from the factory because I don't think it makes sense to create a threadpool on the fly, it's prone to errors. - Resolves: #8774
Diffstat (limited to 'server/src/leap/soledad/server/entrypoint.py')
-rw-r--r--server/src/leap/soledad/server/entrypoint.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/server/src/leap/soledad/server/entrypoint.py b/server/src/leap/soledad/server/entrypoint.py
index 8078a54a..c06b740e 100644
--- a/server/src/leap/soledad/server/entrypoint.py
+++ b/server/src/leap/soledad/server/entrypoint.py
@@ -22,10 +22,12 @@ or the systemd script.
"""
from twisted.internet import reactor
+from twisted.python import threadpool
+from .auth import portalFactory
+from .session import SoledadSession
from ._config import get_config
from ._wsgi import init_couch_state
-from .session import SoledadSession
# load configuration from file
@@ -35,7 +37,11 @@ conf = get_config()
class SoledadEntrypoint(SoledadSession):
def __init__(self):
- SoledadSession.__init__(self)
+ pool = threadpool.ThreadPool(name='wsgi')
+ reactor.callWhenRunning(pool.start)
+ reactor.addSystemEventTrigger('after', 'shutdown', pool.stop)
+ portal = portalFactory(pool)
+ SoledadSession.__init__(self, portal)
# see the comments in application.py recarding why couch state has to be