changeset 872:633487219ed6

add web process waiter skeleton
author Jeff Hammel <k0scist@gmail.com>
date Tue, 07 May 2019 10:39:27 -0700
parents 1b6f0650dabb
children 9f85111f3dee
files python/example/webwaiter.py
diffstat 1 files changed, 41 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/python/example/webwaiter.py	Tue May 07 10:39:27 2019 -0700
@@ -0,0 +1,41 @@
+#!/usr/bin/env python
+
+# https://stackoverflow.com/questions/473620/how-do-you-create-a-daemon-in-python
+
+"""
+POST /
+{
+ "command": ["", ...]
+ "cwd": ""
+ "env: {"": ""}
+}
+->
+200 OK
+{
+  "pid": 123
+}
+
+GET /1
+{
+  "returncode": null # or e.g. 2
+  (stdout, stderr)
+}
+"""
+
+from webob import Request, Response
+
+class WebWaiter:
+
+    def __call__(self, environ, start_response):
+        request = Request(environ)
+        res = Response(content_type='text/plain')
+        res.body = bytes("hello world", "utf-8")
+        return res(environ, start_response)
+
+
+if __name__ == '__main__':
+    import argparse
+    import wgsiref
+
+    parser = argparse.ArgumentParser(description=__doc__)
+    options = parser.parse_args()