我有一个桌面应用程序,它将 POST 请求发送到 django 应用程序存储结果的服务器。 DB 服务器和 Web 服务器不在同一台计算机上,有时会在很短的时间内失去连接,但会导致某些请求出现连接错误:
OperationalError: (2003, "Can't connect to MySQL server on 'xxx.xxx.xxx.xxx' (110)")
在“正常”网站上,我想您不会太担心:浏览器会显示 500 错误页面,访问者稍后会再次尝试。 就我而言,丢失请求发布的信息不是一种选择,我想知道如何处理这个问题?我会 try catch 此异常,等待连接恢复(滞后不是问题),然后继续该过程。但由于异常可能发生在代码中的任何位置,我对如何继续感到有点困惑。
感谢您的建议。
最佳答案
你可以做your own WSGI application这将在 yourproject/wsgi.py 中装饰 django 的 wsgi 应用程序。
如果您的 wsgi 应用程序装饰器没有从装饰的应用程序中获得可接受的结果,它可能会等待一段时间,稍后再试。
但实际上,您应该修复客户端。客户端不应期望连接到工作服务器 24/7。在那之前我不会将这个桌面客户端作为用户使用。
关于python - Django:如何正确处理数据库连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10930459/