Beispiel #1
0
    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
Beispiel #2
0
    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
Beispiel #4
0
"""
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
Beispiel #5
0
#  - 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