# HG changeset patch # User John Rouillard # Date 1684899246 14400 # Node ID 46f92ac4e170835d7232e3f94726812d0013e782 # Parent 068aec2b38b5c84a45b5233f24444ea3989614db - issue2551275 - Allow configuring max_children in roundup-server. new -m and --max_children command line arguments and max_children config file setting for roundup_server.py/roundup-server. CHANGES.txt, admin_guide.txt, roundup-server.1 updated. diff -r 068aec2b38b5 -r 46f92ac4e170 CHANGES.txt --- a/CHANGES.txt Tue May 23 19:26:23 2023 -0400 +++ b/CHANGES.txt Tue May 23 23:34:06 2023 -0400 @@ -144,6 +144,9 @@ hash function using PBKDF2-SHA512 available. Will be default in future. Directions for upgrading security by using it now is included in upgrading.txt. (John Rouillard) +- issue2551275 - Allow configuring max_children in roundup-server. + When using roundup-server in fork mode, allow raising number of + forked children above the default of 40. 2022-07-13 2.2.0 diff -r 068aec2b38b5 -r 46f92ac4e170 doc/admin_guide.txt --- a/doc/admin_guide.txt Tue May 23 19:26:23 2023 -0400 +++ b/doc/admin_guide.txt Tue May 23 23:34:06 2023 -0400 @@ -115,6 +115,10 @@ # Default: group = + # Maximum number of children to spawn using fork multiprocess mode. + # Default: 40 + max_children = 40 + # don't fork (this overrides the pidfile mechanism)' # Allowed values: yes, no # Default: no diff -r 068aec2b38b5 -r 46f92ac4e170 roundup/scripts/roundup_server.py --- a/roundup/scripts/roundup_server.py Tue May 23 19:26:23 2023 -0400 +++ b/roundup/scripts/roundup_server.py Tue May 23 23:34:06 2023 -0400 @@ -648,6 +648,9 @@ "In order to use this option, " "the server must be run initially as root.\n" "Availability: Unix."), + (configuration.IntegerNumberOption, "max_children", 40, + "Maximum number of children to spawn using fork " + "multiprocess mode."), (configuration.BooleanOption, "nodaemon", "no", "don't fork (this overrides the pidfile mechanism)'"), (configuration.BooleanOption, "log_hostnames", "no", @@ -703,6 +706,7 @@ "pidfile": "d:", "nodaemon": "D", "log_hostnames": "N", + "max_children": "m:", "multiprocess": "t:", "template": "i:", "loghttpvialogger": 'L', @@ -811,6 +815,7 @@ base_server): pass server_class = ForkingServer + server_class.max_children = self["MAX_CHILDREN"] elif self["MULTIPROCESS"] == "thread": class ThreadingServer(socketserver.ThreadingMixIn, base_server): @@ -942,6 +947,7 @@ -l log to the file indicated by fname instead of stderr/stdout -N log client machine names instead of IP addresses (much slower) -i set tracker index template + -m maximum number of children to spawn in fork multiprocess mode -s enable SSL -L http request logging uses python logging (roundup.http) -e PEM file containing SSL key and certificate diff -r 068aec2b38b5 -r 46f92ac4e170 share/man/man1/roundup-server.1 --- a/share/man/man1/roundup-server.1 Tue May 23 19:26:23 2023 -0400 +++ b/share/man/man1/roundup-server.1 Tue May 23 23:34:06 2023 -0400 @@ -25,6 +25,10 @@ available. If an invalid mode is specified the server starts in \fBnone\fP (also called single) mode. Default fork. .TP +\fB-m\fP \fImax_children\fP +Set the maximum number of child processes (servers). This value +may need to be increased on a heavily loaded site. Default 40. +.TP \fB-l\fP \fIfile\fP Sets a filename to log to (instead of stdout). This is required if the -d option is used.