python - Django:如何正确处理数据库连接错误

标签 python mysql django

我有一个桌面应用程序,它将 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/

相关文章:

django - reddit 风格的 Django 投票

python - 修改Api中的JsonResponse

django - 为什么 Postgres 查询比 Redis 查询快?

python - 如何使用 python 和 opencv 去除图像中对象的锯齿状边缘

python - 如何在 Django 中记录模型的每日排名?

mysql - 在服务器之间传输的表文件将表标记为崩溃

php - 防止在 CodeIgniter 中从数据库获取重复数据

python - 函数未正确写入 .xls。 Python 2.7.1

python - 查找一个系列在另一个系列中的匹配项,并使用正则表达式匹配打印整行数据帧

php - 为什么PHP+MySQL默认不使用文件缓存?