django shell触发Postgres空闲事务问题

时间:2010-08-06 20:24:36

标签: python django postgresql ipython

实际上,这不是django(iPython)shell的错。问题是打开django shell ./manage.py shell的开发人员运行一些查询(它通常只生成选择),然后让shell运行或以某种方式杀死他们的(ssh)会话(实际上,我不确定是否后一种情况使交易开放 - 我还没有测试过它)

无论如何,nagios会定期警告这些空闲交易。我们当然可以致电developer.stop_doing_that_dammit(),但这是不可靠的。

我正在寻找以允许开发人员使用django shell的方式解决这个问题的想法,但如果他们忘记关闭会话,就会关闭事务。

1 个答案:

答案 0 :(得分:1)

你可能总是运行一个cron作业,它会在数据库中调用pg_cancel_backend(),因为后端空闲时间超过例如1天(当然这取决于nagios设置)。