Mysql
 sql >> база данни >  >> RDS >> Mysql

Защо получавам, че MySQL сървърът е изчезнал изключение в Django?

Имах абсолютно същия проблем от твоя. Внедрих скрипт за наблюдение с помощта на библиотека watchdogs и до края на „wait_timeout“ щеше да се появи грешка в MySQL.

След няколко опита с функцията "django.db.close_old_connections()", тя все още не работи, но се опитвах да затварям стари връзки на всеки определен интервал от време, което не работеше. Промених командата за затваряне да се изпълнява само преди извикването на моята персонализирана команда за управление (която е командата, която ще взаимодейства с db и се използва за срив с MySQL грешка) и тя започна да работи.

Очевидно от тази страница , причината това да се случи е, че функцията "close_old_connection" е свързана само с HTTP сигнали за заявка, така че няма да се задейства в специфични персонализирани скриптове. Документацията на Django не казва това и аз, честно казано, също разбрах нещата по същия начин, както и вие.

И така, това, което можете да опитате да направите, е да добавите обаждането за затваряне на старата връзка, преди да взаимодействате с db:

from django.db import close_old_connections
close_old_connections()
do_something_with_db()


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да изберете колона със статични стойности?

  2. Как да разберете кога заявката е изпълнена успешно в PHP PDO?

  3. Комбинирайте две колони в SQL за клауза WHERE

  4. MySQL и PHP:UTF-8 с кирилица

  5. избиране на последователни числа с помощта на SQL заявка