Read the MAX_WORKERS value in /etc/default/<proxyname>. If it is not an integer between 0 and 128, ignore and warn.
The lower limit was chosen because at least one worker process must exist. The upper limit was chosen because more than 127 worker processes should not be necessary and a positive impact on performance is doubtful. If this limit turns out to be too low, it can still be extended in the future. Signed-off-by: Friedrich Weber <f.we...@proxmox.com> --- Notes: changes since rfc: - add lower and upper limit (thx Thomas!) src/PVE/APIServer/Utils.pm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/PVE/APIServer/Utils.pm b/src/PVE/APIServer/Utils.pm index 1430c98..4cceb71 100644 --- a/src/PVE/APIServer/Utils.pm +++ b/src/PVE/APIServer/Utils.pm @@ -28,6 +28,7 @@ sub read_proxy_config { $shcmd .= 'echo \"DISABLE_TLS_1_3:\$DISABLE_TLS_1_3\";'; $shcmd .= 'echo \"PROXY_REAL_IP_HEADER:\$PROXY_REAL_IP_HEADER\";'; $shcmd .= 'echo \"PROXY_REAL_IP_ALLOW_FROM:\$PROXY_REAL_IP_ALLOW_FROM\";'; + $shcmd .= 'echo \"MAX_WORKERS:\$MAX_WORKERS\";'; my $data = -f $conffile ? `bash -c "$shcmd"` : ''; @@ -77,6 +78,13 @@ sub read_proxy_config { push @$ips, Net::IP->new(normalize_v4_in_v6($ip)) || die Net::IP::Error() . "\n"; } $res->{$key} = $ips; + } elsif ($key eq 'MAX_WORKERS') { + if ($value =~ /^\d+$/ && $value > 0 && $value < 128) { + $res->{$key} = int($value); + } else { + warn "MAX_WORKERS specified in $conffile is not an integer between" + ." 0 and 128: $value\n"; + } } elsif (grep { $key eq $_ } @$boolean_options) { die "unknown value '$value' - use 0 or 1\n" if $value !~ m/^(0|1)$/; $res->{$key} = $value; -- 2.47.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel