diff options
author | Kali Kaneko (leap communications) <kali@leap.se> | 2016-03-23 12:49:36 -0400 |
---|---|---|
committer | Kali Kaneko (leap communications) <kali@leap.se> | 2016-03-23 12:49:36 -0400 |
commit | 8e7a4c0b8bdbefdeb6db9660da97de5320899910 (patch) | |
tree | 45a962b686df06bb172c3f281fe4543c904205aa /server3.py |
initial ideas
Diffstat (limited to 'server3.py')
-rw-r--r-- | server3.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/server3.py b/server3.py new file mode 100644 index 0000000..8841c14 --- /dev/null +++ b/server3.py @@ -0,0 +1,47 @@ +from klein import run, route + +from twisted.internet.threads import deferToThread +from twisted.protocols import amp +from twisted.internet import reactor + +from ampoule import child, pool + +import sys +from twisted.python import log +log.startLogging(sys.stdout) + +def fib(n): + if n <= 2: + return 1 + else: + return fib(n-1) + fib(n-2) + + +class Fib(amp.Command): + response = [('total', amp.Integer())] + +class DelayedFib(amp.AMP): + def slowFib(self): + result = fib(25) + return result + Fib.responder(slowFib) + +@route('/') +def home(request): + d = pp.doWork(Fib) + return d + + +pp = None + +def start_pool(): + global pp + pp = pool.ProcessPool(child.AMPChild, recycleAfter=5000) + pp.min = 1 + pp.max = 5 + pp.start() + + +if __name__ == "__main__": + reactor.callWhenRunning(start_pool) + run("localhost", 8080) |