在 Django 中 Ping MySQL 以保持连接处于活动状态

Nik*_*as9 6 python mysql django rabbitmq

我有一堆工人在等待任务(使用 Django 作为 ORM)。我的问题是,如果在给定的时间内没有任务(无论 MySQL wait_timeout 变量设置为什么),MySQL 连接就会超时,因此工作人员会死亡。

我解决这个问题的第一种方法是简单地将 wait_timeout 增加到一个更高的整数,但我认为更好的解决方案可能是每 30 分钟左右 ping MySQL,如果没有保持连接活动的任务。

所以我的问题是;我如何使用 Django ORM 简单地 ping MySQL 来保持连接活跃?这里的最佳实践是什么,只做一个简单的愚蠢查询?

Nik*_*as9 1

Django 实际上会自动处理数据库连接(以及过期连接的重新连接)。

这里的问题是我正在我的一名工作人员中手动处理数据库事务(https://docs.djangoproject.com/en/1.3/topics/db/transactions/#django.db.transaction.commit_manually),并且显然,这迫使您自己也处理整个数据库连接。