mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-09 04:50:59 +00:00
docs(deploy): order a split deploy for the job-queue schema upgrade in v1.45
A web-only process opens its queue connection without migrating and refuses a job-queue schema older than its own, so in a web/worker split the new worker has to start, and upgrade the schema from 45 to 46, before the new web containers. The v1.45.0 notes say so, name the one additive migration, state that a single-container install needs no action, and point a forked compose file at the new stop grace period.
This commit is contained in:
1 parent
7fda400a8c
commit
6ab1f2d8a2
1 file changed
+26
@@ -109,6 +109,32 @@ that for you, and each boot retries). Anything else is a session you can
|
||||
judge: a stuck client may be ended with `SELECT pg_terminate_backend(<pid>)`.
|
||||
You never need to run `migrate resolve` by hand for this case.
|
||||
|
||||
### v1.45.0 notes
|
||||
|
||||
A single-container install (`HEALTHLOG_PROCESS_TYPE=all`, the shipped
|
||||
compose file) needs no action: the sequence above applies the one migration
|
||||
and the job-queue upgrade on the first boot.
|
||||
|
||||
- Migration `0471` adds one nullable column to `healthkit_type_syncs`. It is
|
||||
additive and rewrites no rows.
|
||||
- The job queue library moves its own schema from version 45 to 46 (new
|
||||
columns on its queue table, four indexes built concurrently afterwards).
|
||||
Only a worker process runs that upgrade; a web-only process opens its
|
||||
send-only connection without migrating and refuses a schema older than
|
||||
its own (`pg-boss database requires migrations`), so it cannot queue
|
||||
anything until the upgrade has run. A web/worker split therefore deploys
|
||||
in this order: stop both roles, start the new **worker** and wait until its
|
||||
startup log line carries `"reminder_worker": "started"`, then start the new
|
||||
web containers.
|
||||
The other order leaves the web containers without a queue (imports and
|
||||
document reads answer `503 Background worker is not running`) until they
|
||||
are restarted after the worker. An old web container left running beside
|
||||
the upgraded schema loses its queue the next time it reconnects.
|
||||
- The shipped compose file gives the app `stop_grace_period: 45s`, so a
|
||||
redeploy lets running jobs finish instead of cutting them off after
|
||||
Docker's default ten seconds. A forked or older compose file should add the
|
||||
same line to the app and worker services.
|
||||
|
||||
### v1.44.0 notes
|
||||
|
||||
Migration `0430` drops the `insights_cached_text` column from `users`. A
|
||||
|
||||
Reference in new issue
Block a user