2010-08-06 56 views
2

這實際上並不是django(iPython)shell的錯。問題是打開django shell ./manage.py shell的開發人員運行某些查詢(它通常只會生成選擇),然後讓shell運行或以某種方式終止它們的(ssh)會話(實際上,我不確定後一種情況是否會離開交易開放 - 我還沒有測試過)django shell觸發Postgres閒置事務問題

在任何情況下,nagios會定期發送這些空閒交易的警報。我們當然可以撥打developer.stop_doing_that_dammit(),但這不可靠。

我正在尋找解決這個問題的方法,允許開發人員使用django shell,但如果他們忘記關閉會話,則關閉事務。

回答

1

您可能總是運行一個cron作業,它將在數據庫中調用pg_cancel_backend(),以使空閒的後端比例如1天(當然這取決於nagios設置)。