[Zope-Checkins] CVS: Zope/lib/python/Zope/Startup - zopeschema.xml:1.2.2.12
Fred L. Drake, Jr.
fred@zope.com
Mon, 17 Mar 2003 15:08:21 -0500
Update of /cvs-repository/Zope/lib/python/Zope/Startup
In directory cvs.zope.org:/tmp/cvs-serv22115
Modified Files:
Tag: new-install-branch
zopeschema.xml
Log Message:
Add a simplified version of the "runner" section used with zdaemon's
zdctl.py/zdrun.py scripts; this will be used by a specialized zopectl
implementation. Several options from the "runner" section are not
needed for zopectl.
=== Zope/lib/python/Zope/Startup/zopeschema.xml 1.2.2.11 => 1.2.2.12 ===
--- Zope/lib/python/Zope/Startup/zopeschema.xml:1.2.2.11 Thu Mar 6 13:59:05 2003
+++ Zope/lib/python/Zope/Startup/zopeschema.xml Mon Mar 17 15:08:20 2003
@@ -25,6 +25,102 @@
<key name="+" attribute="environ"/>
</sectiontype>
+ <sectiontype name="zoperunner">
+ <description>
+ This section describes the options for zopectl. These options
+ have no default value specified in the schema; in some cases,
+ zopectl calculates a dynamic default, in others, the feature
+ associated with the option is disabled.
+
+ For those options that also have corresponding command-line
+ options, the command line option (short and long form) are given
+ here too.
+ </description>
+
+ <key name="daemon" datatype="boolean"
+ required="no" default="false">
+ <description>
+ Command-line option: -d or --daemon.
+
+ If this option is true, zdrun.py runs in the background as a
+ true daemon. It forks an child process which becomes the
+ subprocess manager, while the parent exits (making the shell
+ that started it believe it is done). The child process also
+ does the following:
+
+ - if the directory option is set, change into that directory
+
+ - redirect stdin, stdout and stderr to /dev/null
+
+ - call setsid() so it becomes a session leader
+
+ - call umask(022)
+ </description>
+ </key>
+
+ <key name="backoff-limit" datatype="integer"
+ required="no" default="10">
+ <description>
+ Command-line option: -b or --backoff-limit.
+
+ When the subprocess crashes, zdrun.py inserts a one-second
+ delay before it restarts it. When the subprocess crashes
+ again right away, the delay is incremented by one second, and
+ so on. What happens when the delay has reached the value of
+ backoff-limit (in seconds), depends on the value of the
+ forever option. If forever is false, zdrun.py gives up at
+ this point, and exits. An always-crashing subprocess will
+ have been restarted exactly backoff-limit times in this case.
+ If forever is true, zdrun.py continues to attempt to restart
+ the process, keeping the delay at backoff-limit seconds.
+
+ If the subprocess stays up for more than backoff-limit
+ seconds, the delay is reset to 1 second.
+ </description>
+ </key>
+
+ <key name="forever" datatype="boolean"
+ required="no" default="false">
+ <description>
+ Command-line option: -f or --forever.
+
+ If this option is true, zdrun.py will keep restarting a
+ crashing subprocess forever. If it is false, it will give up
+ after backoff-limit crashes in a row. See the description of
+ backoff-limit for details.
+ </description>
+ </key>
+
+ <key name="hang-around" datatype="boolean"
+ required="no" default="false">
+ <description>
+ If this option is true, the zdrun.py process will remain even
+ when the daemon subprocess is stopped. In this case, zopectl
+ will restart zdrun.py as necessary. If this option is false,
+ zdrun.py will exit when the daemon subprocess is stopped
+ (unless zdrun.py intends to restart it).
+ </description>
+ </key>
+
+ <key name="default-to-interactive" datatype="boolean"
+ required="no" default="true">
+ <description>
+ If this option is true, zopectl enters interactive mode
+ when it is invoked without a positional command argument. If
+ it is false, you must use the -i or --interactive command line
+ option to zopectl to enter interactive mode.
+ </description>
+ </key>
+
+ <key name="prompt" datatype="string"
+ required="no" default="zopectl>">
+ <description>
+ The prompt shown by zopectl program.
+ </description>
+ </key>
+
+ </sectiontype>
+
<!-- end of type definitions -->
<!-- schema begins -->
@@ -158,5 +254,7 @@
</key>
<multisection type="database" name="*" attribute="databases"/>
+
+ <section type="zoperunner" name="*" attribute="runner"/>
</schema>