diff Sphinx/source/plugins/python/multiprocessing-4.py @ 702:6e02cd89eb6a

moving python samples in separate files
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 11 Jun 2021 09:38:15 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Sphinx/source/plugins/python/multiprocessing-4.py	Fri Jun 11 09:38:15 2021 +0200
@@ -0,0 +1,23 @@
+import json
+import multiprocessing
+import orthanc
+import requests
+import signal
+
+TOKEN = orthanc.GenerateRestApiAuthorizationToken()
+
+def SlaveProcess():
+    r = requests.get('http://localhost:8042/instances',
+                     headers = { 'Authorization' : TOKEN })
+    return json.dumps(r.json())
+
+def Initializer():
+    signal.signal(signal.SIGINT, signal.SIG_IGN)
+
+POOL = multiprocessing.Pool(4, initializer = Initializer)
+
+def OnRest(output, uri, **request):
+    answer = POOL.apply(SlaveProcess)
+    output.AnswerBuffer(answer, 'text/plain')
+
+orthanc.RegisterRestCallback('/computation', OnRest)