def start_durus(host, port, logfilename, dbfilename): logfile = open(logfilename, 'a+') direct_output(logfile) logger.setLevel(9) storage = FileStorage(dbfilename, repair=False, readonly=False) log(20, 'Storage file=%s host=%s port=%s', storage.get_filename(), host, port) StorageServer(storage, host=host, port=port).serve()
def main(): parser = ArgumentParser(description='Serve Durus databases via TCP/IP') parser.add_argument( 'path', type=str, help='Path containing databases.') parser.add_argument( '--host', type=str, default=DEFAULT_HOST, help='Interface to serve on.') parser.add_argument( '--port', type=int, default=DEFAULT_PORT, help='Port to serve on.') # parser.add_argument( # '--gcbytes', type=int, default=DEFAULT_GCBYTES, # help='Number of bytes to transfer between packing.') parser.add_argument( '--loglevel', type=int, default=20, help='Logging level.') args = parser.parse_args() logger.setLevel(args.loglevel) scheduler = Scheduler() server = Server( scheduler=scheduler, path=args.path, host=args.host, port=args.port, ) scheduler.add(server.dispatch) scheduler.run()
def startDurus(host, port, logfilename, dbfilename): """Start and initialize the Durus server component. Also opens a log file. """ lf = logfile.open(logfilename, 50000) direct_output(lf) logger.setLevel(9) storage = FileStorage(dbfilename, repair=False, readonly=False) log(20, 'Storage file=%s host=%s port=%s', storage.get_filename(), host, port) StorageServer(storage, host=host, port=port).serve()
def start_durus(logfile, logginglevel, address, storage, gcbytes): if logfile is None: logfile = sys.stderr else: logfile = open(logfile, 'a+') direct_output(logfile) logger.setLevel(logginglevel) socket_address = SocketAddress.new(address) if hasattr(storage, 'get_filename'): log(20, 'Storage file=%s address=%s', storage.get_filename(), socket_address) StorageServer(storage, address=socket_address, gcbytes=gcbytes).serve()
def start_durus(host, port, logfilename, dbfilename): logfile = open(logfilename, 'a+') direct_output(logfile) logger.setLevel(9) storage = FileStorage(dbfilename, repair=False, readonly=False) """ In Durus 2.6, there was a fp.name member data. However it doesn't exist in Durus 2.7. However, in both 2.6 and 2.7, there is a get_filename() method that will work. #log(20, 'Storage file=%s host=%s port=%s', storage.fp.name, host, port) """ log(20, 'Storage file=%s host=%s port=%s',storage.get_filename(), host, port) StorageServer(storage, host=host, port=port).serve()
def main(): parser = OptionParser() parser.set_description('Stress test a Durus Server') parser.add_option('--port', dest='port', default=DEFAULT_PORT, type='int', help='Port to listen on. (default=%s)' % DEFAULT_PORT) parser.add_option('--host', dest='host', default=DEFAULT_HOST, help='Host to listen on. (default=%s)' % DEFAULT_HOST) parser.add_option('--cache_size', dest="cache_size", default=4000, type="int", help="Size of client cache (default=4000)") parser.add_option('--max-loops', dest='loops', default=None, type='int', help='Maximum number of loops before exiting.') (options, args) = parser.parse_args() from durus.logger import logger logger.setLevel(5) storage = ClientStorage(host=options.host, port=options.port) connection = Connection(storage, cache_size=options.cache_size) try: if 'obj' not in connection.get_root(): init_db(connection) verify_db(connection, all=True) connection.commit() except ConflictError: connection.abort() n = options.loops while n is None or n > 0: if n is not None: n -= 1 try: if hasattr(sys, 'gettotalrefcount'): sys.stdout.write('refs = %s\n' % sys.gettotalrefcount()) if randbool(): connection.abort() verify_db(connection) mutate_db(connection) connection.commit() maybe_sleep() except ConflictError: sys.stdout.write('conflict\n') connection.abort() maybe_sleep()
def start_durus(logfile, logginglevel, file, repair, readonly, host, port): if logfile is None: logfile = sys.stderr else: logfile = open(logfile, 'a+') direct_output(logfile) logger.setLevel(logginglevel) if file is None: storage = TempFileStorage() else: storage = FileStorage(file, repair=repair, readonly=readonly) log(20, 'Storage file=%s host=%s port=%s', storage.fp.name, host, port) StorageServer(storage, host=host, port=port).serve()
def main(): parser = OptionParser() parser.set_description("Stress test a Durus Server") parser.add_option( "--port", dest="port", default=DEFAULT_PORT, type="int", help="Port to listen on. (default=%s)" % DEFAULT_PORT ) parser.add_option( "--host", dest="host", default=DEFAULT_HOST, help="Host to listen on. (default=%s)" % DEFAULT_HOST ) parser.add_option( "--cache_size", dest="cache_size", default=4000, type="int", help="Size of client cache (default=4000)" ) parser.add_option( "--max-loops", dest="loops", default=None, type="int", help="Maximum number of loops before exiting." ) (options, args) = parser.parse_args() from durus.logger import logger logger.setLevel(5) storage = ClientStorage(host=options.host, port=options.port) connection = Connection(storage, cache_size=options.cache_size) try: if "obj" not in connection.get_root(): init_db(connection) verify_db(connection, all=True) connection.commit() except ConflictError: connection.abort() n = options.loops while n is None or n > 0: if n is not None: n -= 1 try: if hasattr(sys, "gettotalrefcount"): sys.stdout.write("refs = %s\n" % sys.gettotalrefcount()) if randbool(): connection.abort() verify_db(connection) mutate_db(connection) connection.commit() maybe_sleep() except ConflictError: sys.stdout.write("conflict\n") connection.abort() maybe_sleep()
"""Durus backend.""" # Copyright (c) 2001-2009 ElevenCraft Inc. # See LICENSE for details. import os import sys # Set Durus logging level before importing rest of Durus. from durus.logger import logger from logging import ERROR logger.setLevel(ERROR) from durus.btree import BTree from durus.connection import Connection from durus.file_storage import FileStorage from durus.persistent_dict import PersistentDict from durus.persistent_list import PersistentList from schevo.error import DatabaseFileLocked from schevodurus.backend_test_classes import ( TestMethods_CreatesDatabase, TestMethods_CreatesSchema, TestMethods_EvolvesSchemata, ) if sys.platform == 'win32': import pywintypes FileLockedError = pywintypes.error else: