예제 #1
0
파일: rpc.py 프로젝트: LCOGT/python-pbandj
    def run(self):
        """ Start service thread """
        # Create a server instance
        server = SocketRpcServer(self.port, host='', timeout=self.timeout)
        for service in self.service_module.services:
            service_class = getattr(self.service_pb2_module, service.name)
            newservice = service_class()
            for method_name, handler in self.service_module.service_handlers[
                    service.name].items():
                # Attatch a handler to the service class
                setattr(newservice, method_name,
                        self.protobuf_rpc_closure(handler))
            server.registerService(newservice)

        # Start the server
        server.run()
예제 #2
0
 def run(self):
     """ Start service thread """
     # Create a server instance
     server = SocketRpcServer(self.port,host='')
     for service in self.services:
         service_class = self.module.__dict__[service.name]
         handlers = {}
         
         # Link each method to its handler
         for method in service.methods:
             #handlers[method.name] = self._createHandler(method.handler)
             handlers[method.name] = method.handler
         
         # Extend Service class and add handlers
         newservice = type(service.name + "Impl",
                       (service_class,), handlers)
         server.registerService(newservice())
     
     # Start the server
     server.run();
예제 #3
0
import logging

log = logging.getLogger(__name__)
port = 8090


class TimeService(proto.TimeService):
    '''An example service implementation.'''

    def getTime(self, controller, request, done):
        '''Get the current time and return as a response message via the
        callback routine provide.'''
        log.info('Called TestMethod')

        # Create response message
        response = proto.TimeResponse()
        response.str_time = time.asctime()

        # Call provided callback with response message
        done.run(response)


if __name__ == '__main__':
    logging.basicConfig(level=logging.DEBUG)

    # Create service
    service = TimeService()
    server = SocketRpcServer(port)
    server.registerService(service)
    server.run()