Exit with the shutdown's code and wait for image processing (closes #86)
check / check (push) Successful in 5m14s
check / check (push) Successful in 5m14s
fx alone handles SIGINT and SIGTERM; the server's own handler, which only cancelled a context that fx's stop did not wait for, is gone. runApp starts the fx app, waits for a signal or a shutdown request, stops the app and returns the exit code, which main passes to os.Exit. A listen error asks fx to shut down with exit code 1. A Sentry DSN that cannot be used fails the server's start hook, so fx stops what had already started. The server's stop hook stops the HTTP server, then waits for the images still being processed, both within ShutdownTimeout; images still being processed after that are logged and fail the stop, so the exit code is 1. Model: opus-5-5
This commit is contained in:
@@ -29,6 +29,17 @@ P2: security: referer blacklist
|
||||
|
||||
# Completed Steps
|
||||
|
||||
- 2026-10-03 shutdown sets the exit code and waits for image processing
|
||||
(closes #86): fx alone handles SIGINT and SIGTERM, and the server's own
|
||||
signal handler is gone; `cmd/pixad` starts the fx app, waits for a signal or
|
||||
a shutdown request, stops the app and exits with its code: 0 for a signal, 1
|
||||
when the HTTP server cannot listen or the app fails to start or to stop; the
|
||||
server's stop hook, which fx waits for, stops the HTTP server, waits for the
|
||||
images still being processed, both within 5 seconds, then flushes Sentry;
|
||||
images still being processed after that are logged with their count and make
|
||||
the exit code 1; a Sentry DSN that cannot be used fails startup, so the stop
|
||||
hooks of what had already started run, instead of exiting the process from a
|
||||
goroutine; the eviction loop is left to #102.
|
||||
- 2026-10-02 a plain `docker build .` stamps the tag or short commit, not
|
||||
`dev` (closes #166): `.dockerignore` lets `.git` into the build context,
|
||||
without `.git/config`; with no `VERSION` build argument the `Dockerfile`
|
||||
|
||||
Reference in New Issue
Block a user