Оболочка django, вызывающая проблемы с бездействующими транзакциями Postgres - PullRequest
2 голосов
/ 07 августа 2010

Это не ошибка оболочки django (iPython). Проблема в том, что разработчики, которые открывают оболочку django ./manage.py shell, выполняют некоторые запросы (часто она генерирует только выборки), а затем либо оставляют оболочку работающей, либо каким-то образом завершают сеанс (ssh) (на самом деле, я не уверен, что последний дело оставляет транзакцию открытой - я ее не проверял)

В любом случае, nagios регулярно предупреждает об этих незанятых транзакциях. Мы могли бы, конечно, позвонить developer.stop_doing_that_dammit(), но это ненадежно.

Я ищу мысли о том, как решить эту проблему так, чтобы разработчики могли использовать оболочку django, но закрывали транзакции, если они забыли закрыть свою сессию.

1 Ответ

1 голос
/ 07 августа 2010

Вы всегда можете запустить задание cron, которое вызовет pg_cancel_backend () в базе данных, для серверных, которые простаивают дольше, например 1 день (конечно, это зависит от настроек nagios).

...