diff options
author | Kali Kaneko <kali@leap.se> | 2017-02-17 16:52:07 +0100 |
---|---|---|
committer | Kali Kaneko <kali@leap.se> | 2017-02-17 21:03:03 +0100 |
commit | 193573cf8d44a3b6a7d8ae0e43988cffb38a428a (patch) | |
tree | 08c2b3a4c47c8e21fee25a06f0f8690d4c8ca258 /server/src/leap/soledad/server/entrypoint.py | |
parent | bab34cde11bdeb2810cc9f5d223957af26b2b6d3 (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.py | 10 |
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 |