* fix: harden Postgres async engine with pool_recycle and command_timeout to stop stale-connection 504s
* fix(persistence): make postgres command timeout a configurable database setting
Default the app-ORM command timeout to 30s (below nginx's 60s proxy deadline), expose it as database.command_timeout with null to disable, and add regression coverage. Addresses P1 review feedback.
Signed-off-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
* fix(persistence): decouple DB command timeout from nonexistent proxy deadline
The command timeout bounds stalled ORM queries independently; drop the incorrect
coupling to a 60s nginx deadline (actual proxy timeout is 600s).
* feat(config): make pool_recycle configurable
Expose pool_recycle alongside command_timeout and pool_size in config,
example config, and the helm chart, keeping the 300s default, per
review.
---------
Signed-off-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Co-authored-by: Willem Jiang <willem.jiang@gmail.com>