为什么代码更改时自动重新加载仅用于使用 Gunicorn 进行调试?

Why is auto-reload on code change only for debugging with Gunicorn?

我正在使用 Gunicorn to run my Flask website in production. It all works fine, but when deploying updates I always stop and start the server again. I now read about this reload flag,根据文档,"restarts workers when code changes" 是“ 用于开发 ”。如果我可以在生产中使用它,那么在部署时就不需要停止和重启 gunicorn。

我不应该在生产中使用自动重新加载的原因是什么?

重新加载标志可以在生产中使用,基本上它与您在重新启动 gunicorn 时手动执行的操作相同。

在生产环境中不使用自动重启的基本原因是您正在损害服务对第三方的可靠性,而您没有任何控制的可能性。

假设您的服务不断更新新代码。其中一些可能存在错误并破坏用户体验,您无法阻止这种情况。另一方面,如果您在一天内多次更新应用程序,您的用户可能会在一天内多次失去 data/having 糟糕的体验。