summaryrefslogtreecommitdiff
path: root/client-responsiveness/toys/server3.py
diff options
context:
space:
mode:
authordrebs <drebs@riseup.net>2017-11-02 09:28:56 -0200
committerdrebs <drebs@riseup.net>2017-11-02 09:28:56 -0200
commitb36ebc87f449af5ad7a677350a3ccfc7d26cfb1e (patch)
tree6dd6e7a15ace7f7e15815546f43d333f74101050 /client-responsiveness/toys/server3.py
parent01e2a72ce30f0fbb4a027d3246a8ba16e00ae197 (diff)
move client responsiveness tests to a subfolder
Diffstat (limited to 'client-responsiveness/toys/server3.py')
-rw-r--r--client-responsiveness/toys/server3.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/client-responsiveness/toys/server3.py b/client-responsiveness/toys/server3.py
new file mode 100644
index 0000000..d737d4b
--- /dev/null
+++ b/client-responsiveness/toys/server3.py
@@ -0,0 +1,42 @@
+import os
+import sys
+from klein import run, route
+
+from twisted.internet import defer
+from twisted.internet import reactor
+from twisted.python import log
+
+from ampoule import pool
+
+import tasks
+
+log.startLogging(sys.stdout)
+
+FIB = os.environ.get('FIB', tasks.FIB_DEFAULT)
+
+
+@route('/')
+def home(request):
+ d = pp.doWork(tasks.Fib, n=int(FIB))
+ d.addCallback(lambda res: 'answer is >>> {r}\n'.format(r=res['fib']))
+ return d
+
+@route('/hi')
+def ping(request):
+ return 'easy!'
+
+
+pp = None
+
+
+@defer.inlineCallbacks
+def start_pool():
+ global pp
+ # TODO get max number of processors
+ pp = pool.ProcessPool(tasks.FibCalculator, min=1, max=4)
+ print 'starting pool'
+ yield pp.start()
+
+if __name__ == "__main__":
+ reactor.callWhenRunning(start_pool)
+ run("localhost", 8080)