def do_POST(self): """ Access point from HTTP handler """ def onParent(pid, fromchild, tochild): self._server._registerChild(pid, fromchild) tochild.write("done\n") tochild.flush() def onChild(pid, fromparent, toparent): try: response = self._server._marshaled_dispatch(data) self._sendResponse(response) line = fromparent.readline() toparent.write("done\n") toparent.flush() except: logger(name="pathos.xmlrpc", level=30).error(print_exc_info()) os._exit(0) try: data = self.rfile.read(int(self.headers["content-length"])) params, method = xmlrpclib.loads(data) if method == "run": return spawn2(onParent, onChild) else: response = self._server._marshaled_dispatch(data) self._sendResponse(response) return except: self._debug.error(print_exc_info()) self.send_response(500) self.end_headers() return
def do_POST(self): """ Access point from HTTP handler """ def onParent(pid, fromchild, tochild): self._server._registerChild(pid, fromchild) tochild.write(_b('done\n')) tochild.flush() def onChild(pid, fromparent, toparent): try: response = self._server._marshaled_dispatch(data) self._sendResponse(response) line = _str(fromparent.readline()) toparent.write(_b('done\n')) toparent.flush() except: logger(name='pathos.xmlrpc', level=30).error(print_exc_info()) os._exit(0) try: data = self.rfile.read(int(self.headers['content-length'])) params, method = client.loads(data) if method == 'run': #XXX: _str? return spawn2(onParent, onChild) else: response = self._server._marshaled_dispatch(data) self._sendResponse(response) return except: self._debug.error(print_exc_info()) self.send_response(500) self.end_headers() return
def do_POST(self): """ Access point from HTTP handler """ def onParent(pid, fromchild, tochild): self._server._registerChild(pid, fromchild) tochild.write('done\n') tochild.flush() def onChild(pid, fromparent, toparent): try: response = self._server._marshaled_dispatch(data) self._sendResponse(response) line = fromparent.readline() toparent.write('done\n') toparent.flush() except: journal.debug('pathos').log(print_exc_info()) os._exit(0) try: data = self.rfile.read(int(self.headers['content-length'])) params, method = xmlrpclib.loads(data) if method == 'run': return spawn2(onParent, onChild) else: response = self._server._marshaled_dispatch(data) self._sendResponse(response) return except: self._error.log(print_exc_info()) self.send_response(500) self.end_headers() return
""" demonstrate pathos's spawn2 function """ from __future__ import print_function from pathos.util import spawn2, _b, _str if __name__ == '__main__': import os def onParent(pid, fromchild, tochild): s = _str(fromchild.readline()) print(s, end='') tochild.write(_b('hello son\n')) tochild.flush() os.wait() def onChild(pid, fromparent, toparent): toparent.write(_b('hello dad\n')) toparent.flush() s = _str(fromparent.readline()) print(s, end='') os._exit(0) spawn2(onParent, onChild) # End of file
# - http://trac.mystic.cacr.caltech.edu/project/pathos/browser/pathos/LICENSE """ demonstrate pathos's spawn2 function """ from pathos.util import spawn2 if __name__ == '__main__': import os def onParent(pid, fromchild, tochild): s = fromchild.readline() print s, tochild.write('hello son\n') tochild.flush() os.wait() def onChild(pid, fromparent, toparent): toparent.write('hello dad\n') toparent.flush() s = fromparent.readline() print s, os._exit(0) spawn2(onParent, onChild) # End of file