Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mengapa saya mendapatkan pengecualian server MySQL telah hilang di Django?

Saya memiliki masalah yang persis sama dengan Anda. Saya menerapkan skrip pemantauan menggunakan perpustakaan pengawas, dan, pada akhir "wait_timeout", kesalahan MySQL akan muncul.

Setelah beberapa kali mencoba dengan fungsi "Django.db.close_old_connections()", itu masih tidak berhasil, tetapi saya mencoba untuk menutup koneksi lama setiap interval waktu yang ditentukan, yang tidak berfungsi. Saya mengubah perintah tutup untuk dijalankan hanya sebelum pemanggilan perintah manajemen kustom saya (yang merupakan perintah yang akan berinteraksi dengan db dan digunakan untuk mogok dengan kesalahan MySQL) dan itu mulai berfungsi.

Rupanya dari halaman ini , alasan mengapa hal itu terjadi adalah karena fungsi "close_old_connection" hanya ditautkan ke sinyal permintaan HTTP, sehingga tidak akan diaktifkan dalam skrip khusus tertentu. Dokumentasi Django tidak mengatakan itu, dan sejujurnya saya juga memahami hal-hal dengan cara yang sama seperti yang Anda pahami.

Jadi, yang bisa Anda coba lakukan adalah menambahkan panggilan untuk menutup koneksi lama sebelum berinteraksi dengan 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. StaleObjectStateException pada pembaruan frekuensi tinggi

  2. Kesalahan Android dalam meneruskan id item yang dipilih dalam tampilan daftar menggunakan ContextMenu

  3. Kode kesalahan MySQL:1175 selama UPDATE di MySQL Workbench

  4. Bagaimana cara menampilkan kueri terakhir yang dieksekusi di MySQL?

  5. Cara mengambil beberapa baris dari database di PHP