def make_server(processor):
     """
     Creates a TCppServer given a processor. This is the function used
     internally, but it may be of interest separately as well.
     """
     server = TCppServer(processor)
     server.setPort(0)
     server.setNPoolThreads(1)
     server.setNWorkerThreads(1)
     server.setNewSimpleThreadManager(1, 5, False, 50)
     return server
示例#2
0
class CPPServerTask(ThriftServerTask):
    """Spin up a thrift TNonblockingServer in a sparts worker thread"""
    # DEFAULT_HOST = '0.0.0.0'
    DEFAULT_PORT = 0
    OPT_PREFIX = 'thrift'

    bound_host = bound_port = None

    # host = option(default=lambda cls: cls.DEFAULT_HOST, metavar='HOST',
    #               help='Address to bind server to [%(default)s]')
    port = option(default=lambda cls: cls.DEFAULT_PORT,
                  type=int,
                  metavar='PORT',
                  help='Port to run server on [%(default)s]')
    num_threads = option(name='threads',
                         default=4,
                         type=int,
                         metavar='N',
                         help='Server Worker Threads [%(default)s]')

    def initTask(self):
        """Overridden to bind sockets, etc"""
        super(CPPServerTask, self).initTask()

        self._stopped = False

        self.server = TCppServer(self.processor)
        # TODO: There is no API to set host yet.
        # self.server.setHost(self.host)
        self.server.setPort(self.port)
        self.server.setNWorkerThreads(self.num_threads)
        self.server.setup()

        self.bound_addrs = [self.server.getAddress()]

        for addrinfo in self.bound_addrs:
            self.bound_host, self.bound_port = addrinfo[0:2]
            self.logger.info(
                "%s Server Started on %s", self.name,
                self._fmt_hostport(self.bound_host, self.bound_port))

    def _fmt_hostport(self, host, port):
        if ':' in host:
            return '[%s]:%d' % (host, port)
        else:
            return '%s:%d' % (host, port)

    def stop(self):
        """Overridden to tell the thrift server to shutdown asynchronously"""
        self.server.stop()

    def _runloop(self):
        """Overridden to execute TNonblockingServer's main loop"""
        self.server.serve()
 def make_server(processor):
     """
     Creates a TCppServer given a processor. This is the function used
     internally, but it may be of interest separately as well.
     """
     server = TCppServer(processor)
     server.setPort(0)
     server.setNPoolThreads(1)
     server.setNWorkerThreads(1)
     server.setNewSimpleThreadManager(1, 5, False, 50)
     return server
示例#4
0
class CPPServerTask(ThriftServerTask):
    """Spin up a thrift TNonblockingServer in a sparts worker thread"""
    # DEFAULT_HOST = '0.0.0.0'
    DEFAULT_PORT = 0
    OPT_PREFIX = 'thrift'

    bound_host = bound_port = None

    # host = option(default=lambda cls: cls.DEFAULT_HOST, metavar='HOST',
    #               help='Address to bind server to [%(default)s]')
    port = option(default=lambda cls: cls.DEFAULT_PORT,
                  type=int, metavar='PORT',
                  help='Port to run server on [%(default)s]')
    num_threads = option(name='threads', default=4, type=int, metavar='N',
                         help='Server Worker Threads [%(default)s]')

    def initTask(self):
        """Overridden to bind sockets, etc"""
        super(CPPServerTask, self).initTask()

        self._stopped = False

        self.server = TCppServer(self.processor)
        # TODO: There is no API to set host yet.
        # self.server.setHost(self.host)
        self.server.setPort(self.port)
        self.server.setNWorkerThreads(self.num_threads)
        self.server.setup()

        self.bound_addrs = [self.server.getAddress()]

        for addrinfo in self.bound_addrs:
            self.bound_host, self.bound_port = addrinfo[0:2]
            self.logger.info("%s Server Started on %s", self.name,
                self._fmt_hostport(self.bound_host, self.bound_port))

    def _fmt_hostport(self, host, port):
        if ':' in host:
            return '[%s]:%d' % (host, port)
        else:
            return '%s:%d' % (host, port)

    def stop(self):
        """Overridden to tell the thrift server to shutdown asynchronously"""
        self.server.stop()

    def _runloop(self):
        """Overridden to execute TNonblockingServer's main loop"""
        self.server.serve()