【问题标题】:Django - Custom SQL in the connection stringDjango - 连接字符串中的自定义 SQL
【发布时间】:2009-10-16 12:35:24
【问题描述】:

由于在 MySql 中达到max_user_connections 限制,我遇到了一些停机问题。

默认连接超时时间为 8 小时,所以一旦我们达到限制(并且无权终止共享主机上的连接),我只需要等待 8 小时才能使连接计时出去。

我想将以下代码添加到我的连接字符串中:

SET wait_timeout=300;

这会将超时更改为 5 分钟。正如你可以想象的那样,我更乐意处理 5 分钟的停机时间而不是 8 小时的停机时间。 ;)

有没有什么好办法可以在django的连接字符串中添加自定义SQL

如果没有,建议我们编写一些中间件,在处理视图之前运行 SQL。

这可能行得通,但如果知道查询绝对保证为每个连接运行,我会感到更自在,即使为每个视图打开了多个连接。

谢谢!

PS - 在你告诉我之前,我应该找出阻止连接关闭的代码 - 永远不要害怕! - 我们正在这样做,但我希望为另外 8 小时的停机时间提供额外的保险

【问题讨论】:

  • 您不能更改 mySQL 配置吗?
  • 也许你的意思是“查询字符串”而不是“连接字符串”?

标签: python sql django connection-string


【解决方案1】:

您可以通过在settings.py 中设置DATABASE_OPTIONS 字典来指定在连接打开时发送到MySQL 的命令列表。

(顺便提一下,Django 不会为每个视图打开一个新连接。)

【讨论】:

  • 好消息!非常感谢,这正是我希望的解决方案:)
猜你喜欢
  • 1970-01-01
  • 2021-01-22
  • 2019-06-01
  • 2014-10-24
  • 2014-12-05
  • 1970-01-01
  • 1970-01-01
  • 2021-09-01
  • 1970-01-01
相关资源
最近更新 更多