今天 11:33 站点整个不可用。不是代码的问题,是启动顺序: NAS 上 MariaDB 在 11:34 才起来,而应用 11:33 就尝试连接, init_db() 抛异常 → gunicorn 报 Worker failed to boot → master 退出。 一分钟后数据库好了,但已经没有进程在跑,没人会去重试—— 站点就一直躺到有人手工重启为止。 init_db 改为在 DB_INIT_RETRY_SECONDS(默认 120 秒)内重试等待数据库, 超时仍然如实抛错,不会假装启动成功。NAS 重启时应用和数据库一起起来, 这个竞争是常态而不是意外。 Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
18 KiB
18 KiB