Skip to content

Release 1.9.1 - #139

Merged
PhiLily merged 1 commit into
mainfrom
release/1.9.1
Oct 16, 2026
Merged

PhiLily merged 1 commit into
mainfrom
release/1.9.1

Conversation

@PhiLily

@PhiLily PhiLily commented Oct 16, 2026

Copy link
Copy Markdown
Member

What and why:

Warn at worker start on PostgreSQL when CONN_MAX_AGE is 0 and no OPTIONS["pool"] is set, because every task then opens a new database connection. Rewrite "Retaining worker connections" in the production guide to give both settings and the pool size to use.

Retry an outcome write whose connection is refused, with waits of 50 ms doubling to 1.6 s. The waits total at most a tenth of LOCK_TIMEOUT. A worker told to stop ends a wait at once.

Replace the benchmarks page with a run of django-ox 1.9.0 against django-tasks-db 0.13.0 at the same connection settings: 1.4 to 1.7 times the tasks per second with pooled or persistent connections. The rows are in benchmarks/results-raw-2026-10-14-matched.json, and benchmarks/render_results.py checks every number on the page against them.

Rewrite sentences on the README and the front-door docs pages to state the point directly.

Operator action: none. A worker on PostgreSQL with CONN_MAX_AGE = 0 and no pool logs one warning at start. Set CONN_MAX_AGE = 600, or set OPTIONS["pool"] and leave CONN_MAX_AGE at 0.

No database migration is required.

**What and why:**

Warn at worker start on PostgreSQL when `CONN_MAX_AGE` is 0 and no `OPTIONS["pool"]` is set, because every task then opens a new database connection. Rewrite "Retaining worker connections" in the production guide to give both settings and the pool size to use.

Retry an outcome write whose connection is refused, with waits of 50 ms doubling to 1.6 s. The waits total at most a tenth of `LOCK_TIMEOUT`. A worker told to stop ends a wait at once.

Replace the benchmarks page with a run of django-ox 1.9.0 against django-tasks-db 0.13.0 at the same connection settings: 1.4 to 1.7 times the tasks per second with pooled or persistent connections. The rows are in `benchmarks/results-raw-2026-10-14-matched.json`, and `benchmarks/render_results.py` checks every number on the page against them.

Rewrite sentences on the README and the front-door docs pages to state the point directly.

**Operator action:** none. A worker on PostgreSQL with `CONN_MAX_AGE = 0` and no pool logs one warning at start. Set `CONN_MAX_AGE = 600`, or set `OPTIONS["pool"]` and leave `CONN_MAX_AGE` at 0.

No database migration is required.
@PhiLily
PhiLily merged commit 83da282 into main Oct 16, 2026
58 checks passed
@PhiLily
PhiLily deleted the release/1.9.1 branch October 16, 2026 22:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant