У меня есть веб-сайт на django 1.10, python3.4, mysqlclient, mysql5.5.
У меня есть несколько команд управления, работающих в фоновом режиме для различных задач (таких как отправка почты, обновление таблиц) в разное время. В последнее время я начал видеть, что многие Mysql исчезли (ошибка 2006).
Я попытался изменить connection_timeout, чтобы он был больше, чем max_connection age. Это решило небольшую долю проблемы, из-за которой ошибка 2006 перестала возникать для работающей функции в большинстве случаев, но в других случаях ошибка 2006 остается неизменной.
В некоторых случаях я пытался использовать django.db.connection.close() перед запуском функции или вводом ее в цикл try-except. В этих местах эта ошибка больше не возникает, но тогда я не могу поместить этот цикл try-except в каждую функцию.
Какова основная причина этой повторяющейся ошибки? Mysql ушел? Какие есть разные решения и какое решение лучше всего, чтобы мне не пришлось менять большую часть своих кодов?
Другие переменные:
Мы обновились с django 1.7 до 1.10 и недавно обновили пакет mysqlclient, и после этого, вероятно, возникла проблема.
Незадолго до обновления посещаемость нашего сайта также увеличилась в несколько раз. Может ли это быть триггером?