Restore the indentation on the gunicorn worker block

The threaded-worker arguments were pasted at column 0 instead of under the api service's command list, so the file stopped parsing as YAML: compose failed with 'did not find expected key' at the services mapping and no build or up could run at all.

Indentation only - the arguments themselves are unchanged, and the stack still runs gthread with 4 workers and 8 threads on a 30 second timeout.
This commit is contained in:
benjamin.baker
2026-09-04 19:14:23 -04:00
parent 9ac711ce2d
commit 3d5c180e08

View File

@@ -79,25 +79,25 @@ services:
- gunicorn - gunicorn
- --bind - --bind
- 0.0.0.0:5001 - 0.0.0.0:5001
# Threaded workers, not the blocking sync default. An agent that fails # Threaded workers, not the blocking sync default. An agent that fails
# the TLS handshake retries in a loop, and with 4 sync workers a handful # the TLS handshake retries in a loop, and with 4 sync workers a handful
# of those pinned every worker: real UI requests queued 20+ seconds while # of those pinned every worker: real UI requests queued 20+ seconds while
# the CPU sat idle. A stuck connection now holds one THREAD, and 32 # the CPU sat idle. A stuck connection now holds one THREAD, and 32
# (4 x 8) have to be exhausted before a person waits. # (4 x 8) have to be exhausted before a person waits.
# #
# Found in production at the other site (their commit db75ca7). Their # Found in production at the other site (their commit db75ca7). Their
# server, our agent - so the same client behaviour will reach any site # server, our agent - so the same client behaviour will reach any site
# running the endpoint agent, and the fix belongs in the product rather # running the endpoint agent, and the fix belongs in the product rather
# than on one branch. # than on one branch.
- --worker-class - --worker-class
- gthread - gthread
- --workers - --workers
- "4" - "4"
- --threads - --threads
- "8" - "8"
# 30, not 60: a hung connection frees its thread in half the time, which # 30, not 60: a hung connection frees its thread in half the time, which
# is what decides whether a retry storm is absorbed or queues. # is what decides whether a retry storm is absorbed or queues.
- --timeout - --timeout
- "30" - "30"
- --access-logfile - --access-logfile
- "-" - "-"