Example #1
0
 def loadHandler(self, handler):
     processor = CmdbAppManagerService.Processor(handler)
     server = TServer.TThreadPoolServer(processor, self.transport,
                                        self.tfactory, self.pfactory)
     print 'Starting the server...'
     server.serve()
     print 'done.'
Example #2
0
def main(conf):
    # 启动调度器
    scheduler = Scheduler(conf)
    scheduler.start()
    # 启动输入流程
    scheduler_server = SchedulerServer(conf, scheduler)
    scheduler_server.start()

    def signal_handler(signalnum, frame):
        conf['log'].info("received a signal:%s" % signalnum)
        scheduler_server.stop("stops")
        exit(1)

    signal.signal(signal.SIGTERM, signal_handler)
    signal.signal(signal.SIGINT, signal_handler)
    signal.signal(signal.SIGUSR1, lambda a, b: profiling_signal_handler("scheduler", a, b))

    try:
        handler = ScheduleHandler(scheduler)
        processor = SchedulerService.Processor(handler)
        transport = TSocket.TServerSocket(port=conf['server']['port'])
        tfactory = TTransport.TBufferedTransportFactory()
        pfactory = TBinaryProtocol.TBinaryProtocolFactory()
        server = TServer.TThreadPoolServer(processor, transport, tfactory, pfactory, daemon=True)
        server.setNumThreads(conf['server']['server_thread_num'])
        server.serve()
    except Exception as e:
        log.error("调度器启动失败...")
        log.exception(e)
        conf['log'].error(str(traceback.format_exc()))
        scheduler_server.stop("fail")
    scheduler_server.stop("success")
Example #3
0
    def __init__(self, policy):  #, expected_instance_cnt):
        self.instance_list = {}
        self.ip = wieraCommon.get_public_ip()
        self.port = 0
        self.policy = policy
        self.monitoring_info = {}

        # set handler to our implementation
        # to avoid any sync issue with portnumber
        handler = WieraTieraInstanceHandler(policy, self)

        processor = WieraTieraInstanceIface.Processor(handler)
        self.transport = TSocket.TServerSocket(None)
        tfactory = TTransport.TFramedTransportFactory()
        pfactory = TBinaryProtocol.TBinaryProtocolFactory()

        # set server
        self.server = TServer.TThreadPoolServer(processor,
                                                self.transport,
                                                tfactory,
                                                pfactory,
                                                daemon=True)
        self.port = self.transport.port

        #set socket thread 20 min
        self.server.setNumThreads(64)

        #Thrift Server Start
        self.instance_manager_thread = threading.Thread(
            target=self.run_forever, args=())
        self.instance_manager_thread.daemon = True
        self.instance_manager_thread.start()
Example #4
0
def start_server_handle(server_name, server_ip, port,
                        service_inter_module_name, service_inter_class_name,
                        service_impl_module_name, service_impl_class_name):
    """ start thrift server on port
    """

    # dynamic generate service impl and inter class
    AlgServiceImplClass = getattr(
        __import__(service_impl_module_name, globals(), locals(),
                   [service_impl_class_name]), service_impl_class_name)
    AlgServiceProcessorClass = getattr(
        __import__(service_inter_module_name, globals(), locals(),
                   [service_inter_class_name]), service_inter_class_name)

    # instantiation class object
    alg_service_processor = AlgServiceProcessorClass(AlgServiceImplClass(port))

    transport = TSocket.TServerSocket(server_ip, port)
    # tfactory = TTransport.TFramedTransportFactory()
    tfactory = TTransport.TBufferedTransportFactory()
    pfactory = TBinaryProtocol.TBinaryProtocolFactory()

    # server = TNonblockingServer(
    #     alg_service_processor, transport, tfactory, pfactory)
    server = TServer.TThreadPoolServer(alg_service_processor, transport,
                                       tfactory, pfactory)

    logging.info('Starting the %s server on IP %s port:%s', server_name,
                 server_ip, port)
    server.serve()
Example #5
0
    def make_server(self):
        # 指定端口启动transport
        transport = TSocket.TServerSocket(host=self.__host, port=self.__port)

        '''
        TTransport(传输层),定义数据传输方式,可以为TCP/IP传输,内存共享或者文件共享等)被用作运行时库。
            TSocket:阻塞式socker;
            TFramedTransport:以frame为单位进行传输,非阻塞式服务中使用;
            TFileTransport:以文件形式进行传输;
            TMemoryTransport:将内存用于I/O,java实现时内部实际使用了简单的ByteArrayOutputStream;
            TZlibTransport:使用zlib进行压缩, 与其他传输方式联合使用,当前无java实现;
        '''
        tfactory = TTransport.TBufferedTransportFactory()

        '''
        TProtocol(协议层),定义数据传输格式:
            TBinaryProtocol:二进制格式;
            TCompactProtocol:压缩格式;
            TJSONProtocol:JSON格式;
            TSimpleJSONProtocol:提供JSON只写协议, 生成的文件很容易通过脚本语言解析;
            TDebugProtocol:使用易懂的可读的文本格式,以便于debug
        '''
        pfactory = TBinaryProtocol.TBinaryProtocolFactory()

        '''
        Thrift支持的服务模型:
            TSimpleServer:简单的单线程服务模型,常用于测试;
            TThreadPoolServer:多线程服务模型,使用标准的阻塞式IO;
            TNonblockingServer:多线程服务模型,使用非阻塞式IO(需使用TFramedTransport数据传输方式);
        '''
        server = TServer.TThreadPoolServer(multi_processor, transport, tfactory, pfactory)
        return server
Example #6
0
def create_tserver():
    sock = TSocket.TServerSocket()
    handler = HelloHandler()
    processor = Processor(handler)
    server = TServer.TThreadPoolServer(processor, sock, tfactory, pfactory)

    return server
Example #7
0
def run():
    #创建服务器
    handler = HelloHandler()
    # Processor = Processor(handler)
    processor = Processor(handler)

    #监听端口
    transport = TSocket.TServerSocket("localhost",9234)

    #选择传输层
    pfactory = TBinaryProtocol.TBinaryProtocolFactory()

    #选择传输协议
    tfactory = TTransport.TBufferedTransportFactory()

    #指定格式:服务器、监听端口、传输协议、传输层
    server = TServer.TThreadPoolServer(processor,
                                       transport,
                                       tfactory,
                                       pfactory)

    #设置服务线程
    server.setNumThreads(5)
    print("service is running")
    server.serve()
Example #8
0
def main():
    parser = argparse.ArgumentParser(description='TODO')
    parser.add_argument('-p',
                        '--port',
                        type=int,
                        required=True,
                        help="My port")
    parser.add_argument('-t',
                        '--prediction_time',
                        type=float,
                        required=True,
                        help="Amount of time the prediction step should take")
    args = parser.parse_args()

    port = args.port
    handler = WorkerHandler(args.prediction_time, .2, 15)
    processor = Worker.Processor(handler)
    transport = TSocket.TServerSocket(port=port)
    tfactory = TTransport.TBufferedTransportFactory()
    pfactory = TBinaryProtocol.TBinaryProtocolFactory()

    server = TServer.TThreadPoolServer(processor, transport, tfactory,
                                       pfactory)
    server.setNumThreads(10)
    #server = TServer.TThreadedServer(processor, transport, tfactory, pfactory)

    print "Starting python server..."
    server.serve()
    print "done!"
Example #9
0
def get_server(api, handler, port, **kwargs):
    processor = api.Processor(handler)
    socket = TSocket.TServerSocket(port=port)
    tfactory = kwargs.get('transport') or TTransport.TFramedTransportFactory()
    pfactory = kwargs.get('protocol') or TBinaryProtocolAcceleratedFactory()
    server = TServer.TThreadPoolServer(processor, socket, tfactory, pfactory)  
    server.setNumThreads(8)
    return server
Example #10
0
 def run(self):
     processor = Processor(self)
     transport = TSocket.TServerSocket(self.host, self.port)
     tfactory = TTransport.TBufferedTransportFactory()
     pfactory = TBinaryProtocol.TBinaryProtocolFactory()
     server = TServer.TThreadPoolServer(processor, transport, tfactory,
                                        pfactory)
     print(f'start python server...{self.host}:{self.port}')
     server.serve()
Example #11
0
    def run(self, portNumber = 9090):
        handler = Handler()
        processor = GraphCRUD.Processor(handler)
        transport = TSocket.TServerSocket(port=portNumber)
        tfactory = TTransport.TBufferedTransportFactory()
        pfactory = TBinaryProtocol.TBinaryProtocolFactory()

        server = TServer.TThreadPoolServer(processor, transport, tfactory, pfactory)
        server.serve()
Example #12
0
	def _run(self):
		handler = EasyHadoopHandler()
		processor = EasyHadoop.Processor(handler)
		transport = TSocket.TServerSocket(self.host,self.port)
		tfactory = TTransport.TBufferedTransportFactory()
		pfactory = TBinaryProtocol.TBinaryProtocolFactory()

		server = TServer.TThreadPoolServer(processor, transport, tfactory, pfactory)
		while True:
			print 'Starting server'+os.linesep
			server.serve()
Example #13
0
def create_server():
    sock = TSocket.TServerSocket()

    tfactory = TTransport.TBufferedTransportFactory()
    pfactory = TBinaryProtocol.TBinaryProtocolFactory()

    handler = HelloHandler()
    processor = Processor(handler)
    server = TServer.TThreadPoolServer(processor, sock, tfactory, pfactory)

    return server
Example #14
0
def main(args):
	with Main(args, threading.Lock) as service:
		control = Control()

		addqueue = AddQueue(service)
		interface = Interface(addqueue, service)

		# Thrift setup

		processor = Processor(interface)
		transport = ServerSocket(port=conf.getint("thrift", "port"))
		server = thriftserver.TThreadPoolServer(processor, transport, daemon=True)
		server.setNumThreads(conf.getint("thrift", "threads"))

		# threads

		addqueue_thread = threading.Thread(target=addqueue.process)
		addqueue_thread.daemon = True

		service_thread = threading.Thread(target=server.serve)
		service_thread.daemon = True

		try:
			service.init()

			log.debug("starting add queue")
			addqueue_thread.start()

			log.info("starting thrift service")
			service_thread.start()

			service.flush()

			# main loop

			while True:
				condition = control.sleep()

				if condition == control.Condition.Timeout:
					service.flush()

				elif condition == control.Condition.Terminate:
					break

				elif condition == control.Condition.Hangup:
					log.info("reconfiguring")
					service.reconfigure()

				elif condition == control.Condition.User1:
					if conf.getboolean("debug", "force_cache_rotation", False):
						service.flush(force_rotate=True)
		finally:
			log.info("closing add queue")
			addqueue.close()
Example #15
0
    def __init__(self, filebase, port):
        self.processor = RemusNet.Processor(RemusKyoto(filebase))

        self.socket = TSocket.TServerSocket(port=port)
        self.port = self.socket.port
        pfactory = TBinaryProtocol.TBinaryProtocolFactory()
        tfactory = TTransport.TBufferedTransportFactory()

        self.server = TServer.TThreadPoolServer(self.processor, self.socket,
                                                tfactory, pfactory)
        self.t = ServerThread(self.server)
        self.t.start()
Example #16
0
    def run(self):
        handler = Handler()
        processor = server.Processor(handler)
        transport = TSocket.TServerSocket(self.host, self.port)
        tfactory = TTransport.TBufferedTransportFactory()
        pfactory = TBinaryProtocol.TBinaryProtocolFactory()

        rpc_server = TServer.TThreadPoolServer(processor, transport, tfactory,
                                               pfactory)
        rpc_server.setNumThreads(100)

        print('Starting the rpc at', self.host, ':', constants.PORT)
        rpc_server.serve()
Example #17
0
def main(decentralized):
    handler = CommoServerHandler(decentralized)
    processor = CommoServer.Processor(handler)
    transport = TSocket.TServerSocket(host='0.0.0.0', port=SERVER_PORT)
    tfactory = TTransport.TBufferedTransportFactory()
    pfactory = TBinaryProtocol.TBinaryProtocolFactory()

    server = TServer.TThreadPoolServer(processor, transport, tfactory,
                                       pfactory)
    server.setNumThreads(SERVER_THREADS)

    logger.info("Starting server!")
    server.serve()
Example #18
0
	def __init__(self, pidfile):
		daemon.Daemon.__init__(self, pidfile)

		self.handler = MydlpHandler()

		self.processor = Mydlp.Processor(self.handler)
		self.transport = TSocket.TServerSocket("127.0.0.1", 9090)
		self.tfactory = TTransport.TBufferedTransportFactory()
		self.pfactory = TBinaryProtocol.TBinaryProtocolFactory()

		#server = TServer.TSimpleServer(processor, transport, tfactory, pfactory)
		#server = TServer.TThreadedServer(processor, transport, tfactory, pfactory)
		self.server = TServer.TThreadPoolServer(self.processor, self.transport, self.tfactory, self.pfactory)
    def start_server(self):
        print("Starting adapter server" + self.r_address.Address + ":" +
              str(self.r_address.Port))
        processor = MMIAdapter.Processor(
            ThriftAdapterImplementation(self.session_data))
        transport = TSocket.TServerSocket(host=self.a_address.Address,
                                          port=self.a_address.Port)
        tfactory = TTransport.TBufferedTransportFactory()
        pfactory = TCompactProtocol.TCompactProtocolFactory()

        #server = TServer.TThreadedServer(processor, transport, tfactory, pfactory)
        server = TServer.TThreadPoolServer(processor, transport, tfactory,
                                           pfactory)
        server.setNumThreads(4)
        server.serve()
Example #20
0
    def run(self):
        self.handler = Handler(self.config, self.debug)
        print('Starting servers...')
        self.handler.start_server()
        processor = server.Processor(self.handler)
        transport = TSocket.TServerSocket(self.host, self.port)
        tfactory = TTransport.TBufferedTransportFactory()
        pfactory = TBinaryProtocol.TBinaryProtocolFactory()

        rpc_server = TServer.TThreadPoolServer(processor, transport, tfactory,
                                               pfactory)
        rpc_server.setNumThreads(NUM_THREAD)

        print('Starting the RPC at', self.host, ':', constants.PORT)
        rpc_server.serve()
Example #21
0
def run():
    #创建服务端
    handler = MonitorService()
    processor = Processor(handler)
    #监听端口
    transport = TSocket.TServerSocket('localhost', 9999)
    #选择传输层
    tfactory = TTransport.TBufferedTransportFactory()
    #选择传输协议
    pfactory = TBinaryProtocol.TBinaryProtocolFactory()
    #创建服务端
    server = TServer.TThreadPoolServer(processor, transport, tfactory,
                                       pfactory)
    server.setNumThreads(5)
    #handler.logger.info('start thrift serve in python')
    server.serve()
Example #22
0
def run_server(port, db_uri, db_version_info, callback_event=None):
    LOG.debug('Starting codechecker server ...')

    try:
        engine = database_handler.SQLServer.create_engine(db_uri)

        LOG.debug('Creating new database session')
        session = CreateSession(engine)

    except sqlalchemy.exc.SQLAlchemyError as alch_err:
        LOG.error(str(alch_err))
        sys.exit(1)

    session.autoflush = False  # Autoflush is enabled by default.

    LOG.debug('Starting thrift server')
    try:
        # Start thrift server.
        handler = CheckerReportHandler(session, True)

        processor = CheckerReport.Processor(handler)
        transport = TSocket.TServerSocket(port=port)
        tfactory = TTransport.TBufferedTransportFactory()
        pfactory = TBinaryProtocol.TBinaryProtocolFactory()

        server = TServer.TThreadPoolServer(processor,
                                           transport,
                                           tfactory,
                                           pfactory,
                                           daemon=True)

        LOG.info('Waiting for check results on [' + str(port) + ']')
        if callback_event:
            callback_event.set()
        LOG.debug('Starting to serve')
        server.serve()
        session.commit()
    except socket.error as sockerr:
        LOG.error(str(sockerr))
        if sockerr.errno == errno.EADDRINUSE:
            LOG.error('Checker port ' + str(port) + ' is already used')
        sys.exit(1)
    except Exception as err:
        LOG.error(str(err))
        session.commit()
        sys.exit(1)
Example #23
0
    def run(self):
        """
        Starts thrift server in a Daemon
        Returns:

        """
        self.logger = logging.getLogger(__name__)
        config = config_loader.get(sys.argv[2])
        handler = WorkerHandler(sys.argv[2], self.rundir)
        proc = Worker.Processor(handler)
        trans_svr = TSocket.TServerSocket(port=int(sys.argv[3]) +
                                          int(config["port"]["start"]))
        trans_fac = TTransport.TFramedTransportFactory()
        proto_fac = TBinaryProtocol.TBinaryProtocolFactory()
        server = TServer.TThreadPoolServer(proc, trans_svr, trans_fac,
                                           proto_fac)
        self.logger.info("Starting CaffeWorker Daemon")
        server.serve()
Example #24
0
    def _run_applications_server(self, server_port):
        # set handler to our implementation
        handler = ApplicationToWieraHandler(self)

        processor = ApplicationToWieraIface.Processor(handler)
        transport = TSocket.TServerSocket(port=server_port)
        tfactory = TTransport.TFramedTransportFactory()
        pfactory = TBinaryProtocol.TBinaryProtocolFactory()

        # set server
        server = TServer.TThreadPoolServer(processor,
                                           transport,
                                           tfactory,
                                           pfactory,
                                           daemon=True)

        print '[Wiera] Starting applications server port:' + str(server_port)
        server.serve()
Example #25
0
def buildServer():
    from thrift.transport import TSocket, TTransport
    from thrift.server import TServer
    from thrift.protocol import TBinaryProtocol
    global rpc_ip, rpc_port, server, semaphoreNum

    service_handler = BrandSearchHandler()
    service_processor = BrandSearch.Processor(service_handler)
    tsocket = TSocket.TServerSocket(rpc_ip, rpc_port)
    trans_fac = TTransport.TBufferedTransportFactory()
    protol_fac = TBinaryProtocol.TBinaryProtocolFactory()
    server = TServer.TThreadPoolServer(service_processor, tsocket, trans_fac,
                                       protol_fac)
    server.setNumThreads(semaphoreNum)
    init_multiprocess()

    server.serve()
    print "server ready"
Example #26
0
def make_rpc_server(processor, host='localhost', port=9090):
    transport = TSocket.TServerSocket(host=host, port=port)
    tfactory = TTransport.TBufferedTransportFactory()
    pfactory = TBinaryProtocol.TBinaryProtocolFactory()
    # 只能连接一个客户端
    # server = TServer.TSimpleServer(processor, transport, tfactory, pfactory)

    # You could do one of these for a multithreaded server
    # 每个客户端启动一个线程用于连接
    # server = TServer.TThreadedServer(processor, transport, tfactory, pfactory)

    # 连接线程池
    server = TServer.TThreadPoolServer(processor, transport, tfactory,
                                       pfactory)
    server.daemon = True  #enable ctrl+c to exit the server
    server.setNumThreads(10)

    return server
Example #27
0
def CREATE_MOTION_SERVER(controller):
    handler = MotionServer(controller)
    processor = T_multi_directional_motion_server.Processor(handler)
    transport = TSocket.TServerSocket(host="127.0.0.1", port=9999)
    tfactory = TTransport.TBufferedTransportFactory()
    pfactory = TBinaryProtocol.TBinaryProtocolFactory()

    #server = TServer.TSimpleServer(processor, transport, tfactory, pfactory)
    server = TServer.TThreadPoolServer(processor, transport, tfactory,
                                       pfactory)

    thread = threading.Thread(target=server.serve)
    thread.daemon = True
    thread.start()
    thread.join()

    # server.serve()
    # server.stop()
Example #28
0
def run(host=HOST, port=PORT):

    try:
        # 注意确保模型参数文件存在,若不存在则先运行examples.py中的train方法
        model = BayesSpamModel.import_model()

        # 线程池
        server = TServer.TThreadPoolServer(
            MailQueryService.Processor(MailQueryServiceHandler(model)),
            # 注意py3的socket tcp通信默认采用tcpv6
            TSocket.TServerSocket(host, port),
            TTransport.TFramedTransportFactory(),
            TCompactProtocol.TCompactProtocolFactory())

        server.setNumThreads(3)
        server.serve()

    except Thrift.TException as e:
        logging.exception(repr(e))
Example #29
0
    def __init__(self, shard_mapping, assigned_shard_id, owner_player_id):
        global logger
        logger = logging.getLogger("commo-shard-server-%s" % assigned_shard_id)
        logger.setLevel('DEBUG')

        self.shard_mapping = shard_mapping

        my_serverport_str = None
        self.my_serverport = None

        # others = copy.deepcopy(self.shard_mapping)
        others = []
        for info in shard_mapping[assigned_shard_id]:
            if info.player_id != owner_player_id:
                others.append(generate_serverport(info))
            else:
                self.my_serverport = info
                my_serverport_str = generate_serverport(info)

        # Set up RAFT with fellow shard leaders
        self.watcher = ShardSyncWatcher(my_serverport_str, others)

        while not self.watcher.isReady():
            time.sleep(0.05)

        self.initial_leader = self.watcher._isLeader()

        if self.initial_leader:
            logger.info('%s is the initial leader for shard id %s' %
                        (my_serverport_str, assigned_shard_id))

        host = self.my_serverport.server
        port = self.my_serverport.port

        handler = ShardServerHandler(replicated_storage=self.watcher.replicated_game_state,
                                     synced_obj=self.watcher)
        processor = CommoServer.Processor(handler)
        transport = TSocket.TServerSocket(host=host, port=port + 1000)
        tfactory = TTransport.TBufferedTransportFactory()
        pfactory = TBinaryProtocol.TBinaryProtocolFactory()

        self.server = TServer.TThreadPoolServer(processor, transport, tfactory, pfactory)
        self.server.setNumThreads(SERVER_THREADS)
Example #30
0
def server():
    handler = RedeemCodeHandler()
    processor = RedeemCode.Processor(handler)
    transport = TSocket.TServerSocket(host=config.HOST, port=config.PORT)
    tfactory = TTransport.TBufferedTransportFactory()
    pfactory = TBinaryProtocol.TBinaryProtocolFactory()
    thrift_server = TServer.TThreadPoolServer(processor, transport, tfactory, pfactory)
    thrift_server.setNumThreads(config.threads)

    start_log()

    try:
        thrift_server.serve()
    except KeyboardInterrupt:
        log.info('server done.')
        os.kill(os.getpid(), signal.SIGTERM)
        sys.exit(0)

    log.info('server done.')