Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Z
zodb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Joshua
zodb
Commits
b56fc3f0
Commit
b56fc3f0
authored
Jan 09, 2003
by
Guido van Rossum
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move the ZEO parameters into a <zeo> section.
parent
ead3ccff
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
67 additions
and
55 deletions
+67
-55
src/ZEO/runsvr.py
src/ZEO/runsvr.py
+13
-9
src/ZEO/schema.xml
src/ZEO/schema.xml
+51
-45
src/ZEO/tests/testRunsvr.py
src/ZEO/tests/testRunsvr.py
+3
-1
No files found.
src/ZEO/runsvr.py
View file @
b56fc3f0
...
@@ -120,14 +120,18 @@ class Options:
...
@@ -120,14 +120,18 @@ class Options:
"""
"""
self
.
load_configuration
()
self
.
load_configuration
()
def
load_schema
(
self
):
here
=
os
.
path
.
dirname
(
ZEO
.
__file__
)
schemafile
=
os
.
path
.
join
(
here
,
"schema.xml"
)
self
.
schema
=
ZConfig
.
loadSchema
(
schemafile
)
def
load_configuration
(
self
):
def
load_configuration
(
self
):
if
not
self
.
configuration
:
if
not
self
.
configuration
:
return
return
here
=
os
.
path
.
dirname
(
ZEO
.
__file__
)
self
.
load_schema
()
schemafile
=
os
.
path
.
join
(
here
,
"schema.xml"
)
schema
=
ZConfig
.
loadSchema
(
schemafile
)
try
:
try
:
self
.
rootconf
=
ZConfig
.
loadConfig
(
schema
,
self
.
configuration
)[
0
]
self
.
rootconf
,
nil
=
ZConfig
.
loadConfig
(
self
.
schema
,
self
.
configuration
)
except
ZConfig
.
ConfigurationError
,
errobj
:
except
ZConfig
.
ConfigurationError
,
errobj
:
self
.
usage
(
str
(
errobj
))
self
.
usage
(
str
(
errobj
))
...
@@ -253,12 +257,12 @@ class ZEOOptions(Options):
...
@@ -253,12 +257,12 @@ class ZEOOptions(Options):
def
load_zeoconf
(
self
):
def
load_zeoconf
(
self
):
# Get some option values from the configuration
# Get some option values from the configuration
if
self
.
family
is
None
:
if
self
.
family
is
None
:
self
.
family
=
self
.
rootconf
.
address
.
family
self
.
family
=
self
.
rootconf
.
zeo
.
address
.
family
self
.
address
=
self
.
rootconf
.
address
.
address
self
.
address
=
self
.
rootconf
.
zeo
.
address
.
address
self
.
read_only
=
self
.
rootconf
.
read_only
self
.
read_only
=
self
.
rootconf
.
zeo
.
read_only
self
.
transaction_timeout
=
self
.
rootconf
.
transaction_timeout
self
.
transaction_timeout
=
self
.
rootconf
.
zeo
.
transaction_timeout
self
.
invalidation_queue_size
=
100
self
.
invalidation_queue_size
=
self
.
rootconf
.
zeo
.
invalidation_queue_size
def
load_logconf
(
self
):
def
load_logconf
(
self
):
# Get logging options from conf, unless overridden by environment
# Get logging options from conf, unless overridden by environment
...
...
src/ZEO/schema.xml
View file @
b56fc3f0
<schema
type=
"ZEO"
>
<schema>
<!-- XXX This schema still needs logging support. -->
<!-- XXX This schema still needs logging support. -->
...
@@ -10,53 +10,59 @@
...
@@ -10,53 +10,59 @@
<!-- Use the storage types defined by ZODB. -->
<!-- Use the storage types defined by ZODB. -->
<import
src=
"../ZODB/config.xml"
/>
<import
src=
"../ZODB/config.xml"
/>
<key
name=
"address"
datatype=
"socket-address"
<sectiontype
name=
"zeo"
>
required=
"yes"
>
<description>
The address at which the server should listen. This can be in
the form 'host:port' to signify a TCP/IP connection or a
pathname string to signify a Unix domain socket connection (at
least one '/' is required). A hostname may be a DNS name or a
dotted IP address. If the hostname is omitted, the platform's
default behavior is used when binding the listening socket (''
is passed to socket.bind() as the hostname portion of the
address).
</description>
</key>
<key
name=
"read-only"
datatype=
"boolean"
<key
name=
"address"
datatype=
"socket-address"
required=
"no"
required=
"yes"
>
default=
"false"
>
<description>
<description>
The address at which the server should listen. This can be in
Flag indicating whether the server should operate in read-only
the form 'host:port' to signify a TCP/IP connection or a
mode. Defaults to false. Note that even if the server is
pathname string to signify a Unix domain socket connection (at
operating in writable mode, individual storages may still be
least one '/' is required). A hostname may be a DNS name or a
read-only. But if the server is in read-only mode, no write
dotted IP address. If the hostname is omitted, the platform's
operations are allowed, even if the storages are writable. Note
default behavior is used when binding the listening socket (''
that pack() is considered a read-only operation.
is passed to socket.bind() as the hostname portion of the
</description>
address).
</key>
</description>
</key>
<key
name=
"invalidation-queue-size"
datatype=
"integer"
<key
name=
"read-only"
datatype=
"boolean"
required=
"no"
required=
"no"
default=
"100"
>
default=
"false"
>
<description>
<description>
The storage server keeps a queue of the objects modified by the
Flag indicating whether the server should operate in read-only
last N transactions, where N == invalidation_queue_size. This
mode. Defaults to false. Note that even if the server is
queue is used to speed client cache verification when a client
operating in writable mode, individual storages may still be
disconnects for a short period of time.
read-only. But if the server is in read-only mode, no write
</description>
operations are allowed, even if the storages are writable. Note
</key>
that pack() is considered a read-only operation.
</description>
</key>
<key
name=
"transaction-timeout"
datatype=
"integer"
<key
name=
"invalidation-queue-size"
datatype=
"integer"
required=
"no"
>
required=
"no"
<description>
default=
"100"
>
The maximum amount of time to wait for a transaction to commit
<description>
after acquiring the storage lock, specified in seconds. If the
The storage server keeps a queue of the objects modified by the
transaction takes too long, the client connection will be closed
last N transactions, where N == invalidation_queue_size. This
and the transaction aborted.
queue is used to speed client cache verification when a client
</description>
disconnects for a short period of time.
</key>
</description>
</key>
<key
name=
"transaction-timeout"
datatype=
"integer"
required=
"no"
>
<description>
The maximum amount of time to wait for a transaction to commit
after acquiring the storage lock, specified in seconds. If the
transaction takes too long, the client connection will be closed
and the transaction aborted.
</description>
</key>
</sectiontype>
<section
type=
"zeo"
name=
"*"
required=
"yes"
attribute=
"zeo"
/>
<key
name=
"monitor-address"
datatype=
"socket-address"
required=
"no"
>
<key
name=
"monitor-address"
datatype=
"socket-address"
required=
"no"
>
<description>
<description>
...
...
src/ZEO/tests/testRunsvr.py
View file @
b56fc3f0
...
@@ -81,7 +81,9 @@ class TestZEOOptions(TestOptions):
...
@@ -81,7 +81,9 @@ class TestZEOOptions(TestOptions):
output_args
=
[]
output_args
=
[]
configdata
=
"""
configdata
=
"""
address 5555
<zeo>
address 5555
</zeo>
<filestorage fs>
<filestorage fs>
path Data.fs
path Data.fs
</filestorage>
</filestorage>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment