You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/EnvironmentVariablesAndExitCodes.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,6 +38,7 @@ The following exit codes are supported:
38
38
|`ADAGUC_FONT`| Path to a default TrueType font (TTF) used for rendering text in generated imagery (e.g. `FreeSans.ttf`). | -|
39
39
|`ADAGUC_FORK_ENABLE`| Enables running adaguc-server in [fork mode](/doc/fork_server.md) when set to `TRUE`. |`FALSE`|
40
40
|`ADAGUC_LOGFILE`| File where log messages are written. | -|
41
+
|`ADAGUC_MAX_COMMAND_TIMEOUT`| Maximum processing time in seconds for command-style invocations such as `--updatedb` and `--updatelayermetadata`. |`300`|
41
42
|`ADAGUC_MAX_PROC_TIMEOUT`| Maximum allowed processing time (in seconds) for a single adaguc-server request. If a request exceeds this limit, the server terminates the process and returns an HTTP 500 error to the client. This prevents requests from running indefinitely and blocking server resources. | 10 |
42
43
|`ADAGUC_NUMPARALLELPROCESSES`| Number of parallel worker processes used by the adaguc-server. |`4`|
43
44
|`ADAGUC_ONLINERESOURCE`| Optional override for the [OnlineResource](configuration/OnlineResource.md) URL used by the CGI service. Can also be configured in the XML configuration file. | -|
@@ -51,4 +52,4 @@ The following exit codes are supported:
51
52
|`ADAGUC_TRUSTED_HOSTS`| When EXTERNALADDRESS is unset, this is the allowed hosts list that can be advertised as online resource in the WMS GetCapabilities | * |
52
53
|`ADAGUC_TRUSTED_PROXIES`| When EXTERNALADDRESS is unset, this is the list of trusted proxies from which adaguc-server will determine its external address. (Via the x-forwared- headers) | * |
53
54
|`PGBOUNCER_DISABLE_SSL`| Disables SSL when connecting through PgBouncer. |`true`|
54
-
|`PGBOUNCER_ENABLE`| Enables or disables PostgreSQL connection pooling through PgBouncer. |`true`|
55
+
|`PGBOUNCER_ENABLE`| Enables or disables PostgreSQL connection pooling through PgBouncer. |`true`|
Copy file name to clipboardExpand all lines: doc/fork_server.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ Each request is handled in a separate child process, while the mother process re
5
5
6
6
This design reduces per-request overhead by avoiding repeated process initialization.
7
7
8
-
The fork server is enabled by setting the environment variable `ADAGUC_FORK_ENABLE` to `TRUE`. If this variable is not set to `TRUE`, ADAGUC runs without the fork server.
8
+
The fork server is enabled by setting the environment variable `ADAGUC_FORK_ENABLE` to `TRUE`. If this variable is not set to `TRUE`, ADAGUC runs without the fork server. Command-style invocations with arguments, such as `--updatedb`, `--updatelayermetadata`, `--lint`, and `--report`, always run as normal subprocesses.
9
9
10
10
# Components
11
11
@@ -15,7 +15,7 @@ The system consists of three parts:
15
15
- Mother process (C++): A persistent process that listens for requests and manages child processes.
16
16
- Child processes (C++): Short-lived processes created with `fork()`. Each child handles one request.
17
17
18
-
The maximum number of concurrent children is limited by the environment variable `ADAGUC_NUMPARALLELPROCESSES`.
18
+
The environment variable `ADAGUC_NUMPARALLELPROCESSES` determines the number of concurrent processes, with a minimum of two so a metadata update does not block other requests. The mother process permits one additional child, so the supervisor can perform its `PING` health check while other requests can get handled.
19
19
20
20
Communication between the Python server and the mother process occurs via a Unix domain socket.
21
21
@@ -122,4 +122,4 @@ The fork server (mother process) is managed by a Python supervisor `fork_server_
122
122
- Starts the process during application startup
123
123
- Performs periodic health checks via the Unix socket
124
124
- Restarts the process if it becomes unresponsive or exits
125
-
- Terminates the process during application shutdown
125
+
- Terminates the mother and its child process group during application shutdown
0 commit comments