def main(myname, argv): level = logging.WARNING # level = logging.INFO # level = logging.DEBUG logging.basicConfig(level=level, format='%(asctime)-15s %(message)s') if len(argv) not in [0, 1]: print "Usage: %s [db_path]" % myname exit(1) db_path = argv[0] if len(argv) > 0 else _DB_PATH if USE_KYOTO: db_path += '.kch' logging.warn("Serving via %s at %s:%s [db:%s:%s][pid:%d]...", "gevent" if USE_GEVENT else "eventlet", _SERVER_ADDR, _SERVER_PORT, 'KyotoCabinet' if USE_KYOTO else 'LevelDB', db_path, os.getpid()) open_database(db_path) if USE_GEVENT: server = gevent.server.StreamServer( (_SERVER_ADDR, _SERVER_PORT), handle_request) server.serve_forever() else: server = eventlet.listen((_SERVER_ADDR, _SERVER_PORT)) pool = eventlet.GreenPool() while True: try: new_sock, address = server.accept() pool.spawn_n(handle_request, new_sock, address) except (SystemExit, KeyboardInterrupt): break
def main(myname, argv): level = logging.WARNING # level = logging.INFO # level = logging.DEBUG logging.basicConfig(level=level, format='%(asctime)-15s %(message)s') if len(argv) not in [0, 1]: print("Usage: %s [db_path]" % myname) exit(1) db_path = argv[0] if len(argv) > 0 else _DB_PATH if USE_KYOTO: db_path += '.kch' logging.warning("Serving via %s at %s:%s [db:%s:%s][pid:%d]...", "gevent" if USE_GEVENT else "eventlet", _SERVER_ADDR, _SERVER_PORT, 'KyotoCabinet' if USE_KYOTO else 'LevelDB', db_path, os.getpid()) open_database(db_path) if USE_GEVENT: server = gevent.server.StreamServer((_SERVER_ADDR, _SERVER_PORT), handle_request) server.serve_forever() else: server = eventlet.listen((_SERVER_ADDR, _SERVER_PORT)) pool = eventlet.GreenPool() while True: try: new_sock, address = server.accept() pool.spawn_n(handle_request, new_sock, address) except (SystemExit, KeyboardInterrupt): break
server.bind((host, port)) server.listen(5) # server.setblocking(0) client_list["Server"] = queue.Queue() server_event = gevent.spawn(server_tunnle) while True: print "Listening ... " client_socket, address = server.accept() # client_socket.settimeout(5) message_queue = queue.Queue() client_list[client_socket.fileno()] = message_queue client_socket = StreamHandler.Client(client_socket, address, client_list) print "Connection from {}".format(address[0]) recv_event = gevent.spawn(client_socket.Handler_Recv) send_event = gevent.spawn(client_socket.Handler_Send)