コード例 #1
0
ファイル: zeoserver.py プロジェクト: bendavis78/zope
def main():
    global pid
    pid = os.getpid()
    label = str(pid)
    log(label, "starting")

    # We don't do much sanity checking of the arguments, since if we get it
    # wrong, it's a bug in the test suite.
    keep = 0
    configfile = None
    # Parse the arguments and let getopt.error percolate
    opts, args = getopt.getopt(sys.argv[1:], 'kC:')
    for opt, arg in opts:
        if opt == '-k':
            keep = 1
        elif opt == '-C':
            configfile = arg

    zo = ZEOOptions()
    zo.realize(["-C", configfile])
    zeo_port = int(zo.address[1])

    if zo.auth_protocol == "plaintext":
        import ZEO.tests.auth_plaintext

    # Open the config file and let ZConfig parse the data there.  Then remove
    # the config file, otherwise we'll leave turds.
    # The rest of the args are hostname, portnum
    test_port = zeo_port + 1
    test_addr = ('localhost', test_port)
    addr = ('localhost', zeo_port)
    log(label, 'creating the storage server')
    storage = zo.storages[0].open()
    mon_addr = None
    if zo.monitor_address:
        mon_addr = zo.monitor_address
    server = StorageServer(zo.address, {"1": storage},
                           read_only=zo.read_only,
                           invalidation_queue_size=zo.invalidation_queue_size,
                           transaction_timeout=zo.transaction_timeout,
                           monitor_address=mon_addr,
                           auth_protocol=zo.auth_protocol,
                           auth_database=zo.auth_database,
                           auth_realm=zo.auth_realm)

    try:
        log(label, 'creating the test server, keep: %s', keep)
        t = ZEOTestServer(test_addr, server, keep)
    except socket.error, e:
        if e[0] <> errno.EADDRINUSE: raise
        log(label, 'addr in use, closing and exiting')
        storage.close()
        cleanup(storage)
        sys.exit(2)
コード例 #2
0
 def create_server(self):
     from ZEO.StorageServer import StorageServer
     self.server = StorageServer(
         self.options.address,
         self.storages,
         read_only=self.options.read_only,
         invalidation_queue_size=self.options.invalidation_queue_size,
         transaction_timeout=self.options.transaction_timeout,
         monitor_address=self.options.monitor_address,
         auth_protocol=self.options.auth_protocol,
         auth_database=self.options.auth_database,
         auth_realm=self.options.auth_realm)
コード例 #3
0
    def fork_zeo(self):
        self.zeo_path = get_socket_addr('zeo')
        try:
            os.unlink(self.zeo_path)
        except OSError:
            pass
        pid = self.fork()
        if pid:
            return pid
        else:
            from ZEO.StorageServer import StorageServer
            set_process_name('borgcubed [database process]')

            storage_factory, _ = zodburi.resolve_uri(settings.DB_URI)
            storage = storage_factory()

            prev_umask = os.umask(0o177)
            server = StorageServer(
                addr=self.zeo_path,
                storages={'1': storage},
            )
            os.umask(prev_umask)

            os.kill(os.getppid(), signal.SIGUSR1)
            try:
                server.loop()
            finally:
                server.close()
                sys.exit(0)
コード例 #4
0
def create_server(storages, options):
    from ZEO.StorageServer import StorageServer
    return StorageServer(
        options.address,
        storages,
        read_only=options.read_only,
        invalidation_queue_size=options.invalidation_queue_size,
        invalidation_age=options.invalidation_age,
        transaction_timeout=options.transaction_timeout,
        monitor_address=options.monitor_address,
        auth_protocol=options.auth_protocol,
        auth_database=options.auth_database,
        auth_realm=options.auth_realm,
    )
コード例 #5
0
ファイル: DebugServer.py プロジェクト: bendavis78/zope
 def __init__(self, *args, **kwargs):
     StorageServer.__init__(*args, **kwargs)
     self._setup_record(kwargs["record"])
     self._conn_counter = 1
コード例 #6
0
ファイル: DebugServer.py プロジェクト: wpjunior/proled
 def __init__(self, *args, **kwargs):
     StorageServer.__init__(*args, **kwargs)
     self._setup_record(kwargs["record"])
     self._conn_counter = 1