def __init__(self, repopath, port=50000): self.server = jsonrpc.Server( jsonrpc.JsonRpc20(), jsonrpc.TransportTcpIp(timeout=60.0, addr=("0.0.0.0", port))) repo = repository.Repo(repopath) fr = front.Front(repo) self.server.register_instance(fr, "front")
def run(self): import sys from corenlp import StanfordCoreNLP import jsonrpc sys.__stdin__ = sys.__stdout__ server = jsonrpc.Server( jsonrpc.JsonRpc20(), jsonrpc.TransportTcpIp(addr=("0.0.0.0", int(self.port)))) nlp = StanfordCoreNLP() server.register_function(nlp.parse) server.register_function(nlp.parse_file) print "registering parse_file" server.register_function(lambda *a, **k: 'pong', 'ping') try: server.serve() except KeyboardInterrupt: print("%d exiting" % self.port)
def __register(self): #return server = jsonrpc.Server( jsonrpc.JsonRpc20(), jsonrpc.TransportTcpIp(addr=('', self.rpc_port)) ) #, logfunc=jsonrpc.log_file("myrpc.%i.log"%self.rpc_port) server.register_function(self.get_hg_port) server.register_function(self.get_bt_port) server.register_function(self.you_should_pull_from) server.register_function(self.please_mirror) server.register_function(self.get_active_info_hashes) server.register_function(self.get_free_space) server.register_function(self.please_stop_mirroring) t = threading.Thread(target=server.serve) t.daemon = True t.start() t = threading.Thread(target=self.repo.hg_serve, args=(self.hg_port, )) t.daemon = True t.start() print 'http://localhost:%i/' % self.hg_port print 'registering bonjour listener...' self.bj_name = self.name + '__' + uuid.uuid4().hex bjservice = pybonjour.DNSServiceRegister( name=self.bj_name, regtype="_delugefs._tcp", port=self.rpc_port, callBack=self.__bonjour_register_callback) try: while True: ready = select.select([bjservice], [], []) if bjservice in ready[0]: pybonjour.DNSServiceProcessResult(bjservice) except KeyboardInterrupt: pass
response = self._parse(text) logger.debug("Response: '%s'" % (response)) return json.dumps(response) if __name__ == '__main__': """ The code below starts an JSONRPC server """ parser = optparse.OptionParser(usage="%prog [OPTIONS]") parser.add_option('-p', '--port', default='8080', help='Port to serve on (default: 8080)') parser.add_option( '-H', '--host', default='127.0.0.1', help='Host to serve on (default: 127.0.0.1. Use 0.0.0.0 to make public)' ) options, args = parser.parse_args() server = jsonrpc.Server( jsonrpc.JsonRpc20(), jsonrpc.TransportTcpIp(addr=(options.host, int(options.port)))) nlp = StanfordCoreNLP() server.register_function(nlp.parse) logger.info('Serving on http://%s:%s' % (options.host, options.port)) server.serve()
def parse(self, text): """ This function takes a text string, sends it to the Stanford parser, reads in the result, parses the results and returns a list with one dictionary entry for each parsed sentence, in JSON format. """ response = self._parse(text) logger.debug("Response: '%s'" % (response)) return json.dumps(response) if __name__ == '__main__': """ The code below starts an JSONRPC server """ parser = optparse.OptionParser(usage="%prog [OPTIONS]") parser.add_option('-p', '--port', default='8080', help='Port to serve on (default: 8080)') parser.add_option('-H', '--host', default='127.0.0.1', help='Host to serve on (default: 127.0.0.1. Use 0.0.0.0 to make public)') options, args = parser.parse_args() server = jsonrpc.Server(jsonrpc.JsonRpc20(), jsonrpc.TransportTcpIp(addr=(options.host, int(options.port)),limit=50000, timeout=10000.0)) nlp = StanfordCoreNLP() server.register_function(nlp.parse) logger.info('Serving on http://%s:%s' % (options.host, options.port)) server.serve()
#!/usr/bin/env python # Create a JSON-RPC-server import jsonrpc, threading # Custom JSON-RPC 2.0 error-codes INVALID_SESSION_ID_ERROR = 1 INSUFFICIENT_NUM_STACK_ITEMS = 2 OUT_OF_SESSION_IDS = 3 server = jsonrpc.Server( jsonrpc.JsonRpc20(), jsonrpc.TransportTcpIp(addr=("127.0.0.1", 31415), logfunc=jsonrpc.log_file("myrpc.log"))) lock = threading.Lock() idIndex = 0 sessions = {} class OpenSessionError(jsonrpc.RPCFault): def __init__(self, error_data=None): jsonrpc.RPCFault.__init__(self, OUT_OF_SESSION_IDS, "Out of session IDs. Reached max integer.", error_data) class InvalidSessionIdError(jsonrpc.RPCFault): def __init__(self, error_data=None): jsonrpc.RPCFault.__init__(self, INVALID_SESSION_ID_ERROR, "Invalid session ID.", error_data)