mirror of
https://github.com/frappe/gunicorn.git
synced 2026-07-01 18:21:30 +08:00
Add support for SIGTTIN and SIGTTOU signals to the dirty arbiter, allowing dynamic scaling of dirty workers at runtime without restarting gunicorn. Changes: - Add TTIN/TTOU to DirtyArbiter.SIGNALS - Add num_workers instance variable for dynamic count - Add _get_minimum_workers() to enforce app worker constraints - Add signal handlers for TTIN (increase) and TTOU (decrease) - Update manage_workers() to use dynamic count - Add documentation for dynamic scaling - Add unit tests for signal handling - Add Docker integration tests The minimum worker constraint ensures TTOU cannot reduce workers below what apps require (e.g., if an app has workers=3, minimum is 3). Closes #3489
15 lines
335 B
YAML
15 lines
335 B
YAML
services:
|
|
gunicorn:
|
|
build:
|
|
context: ../../..
|
|
dockerfile: tests/docker/dirty_ttin_ttou/Dockerfile
|
|
ports:
|
|
- "18000:8000"
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
|
|
interval: 2s
|
|
timeout: 5s
|
|
retries: 15
|
|
start_period: 5s
|
|
stop_grace_period: 10s
|