Current
Upon SIGTERM, on_shutdown callbacks are executed.
Desire
Upon SIGTERM, stop accepting new requests and wait for in-progress requests to naturally finish. Only after all requests are done would the on_shutdown callbacks begin executing.
Why?
I typically disconnect database connections in an on_shutdown callback. This can result in errors when in-progress requests attempt to query said databases.