Saya menjalankan situs web di Django 1.10, python3.4, mysqlclient, mysql5.5.
Saya memiliki beberapa perintah manajemen yang berjalan di latar belakang untuk berbagai tugas (seperti mengirim email, memperbarui tabel) pada waktu yang berbeda. Baru-baru ini, saya mulai melihat banyak Mysql hilang (Kesalahan 2006).
Saya mencoba mengubah connection_timeout menjadi lebih besar dari max_connection age. Hal ini memecahkan sebagian kecil masalah di mana Error 2006 berhenti terjadi pada fungsi yang berjalan di sebagian besar kasus, namun kasus lain tetap seperti itu dan sering melihat Error 2006.
Dalam beberapa kasus, saya mencoba menggunakan Django.db.connection.close() sebelum menjalankan suatu fungsi atau memasukkannya ke dalam loop coba - kecuali. Di tempat-tempat itu, kesalahan ini tidak terjadi lagi tetapi saya tidak dapat memasang loop coba-kecuali ini di setiap fungsi.
Apa akar penyebab kesalahan berulang Mysql ini hilang? Apa saja solusi berbeda dan apa solusi terbaik agar saya tidak perlu banyak mengubah kode saya?
Variabel Lainnya:
Kami meningkatkan dari Django 1.7 ke 1.10 dan memperbarui paket mysqlclient baru-baru ini dan masalah mungkin muncul setelah itu.
Baru saja sekitar pembaruan, lalu lintas di situs kami juga meningkat beberapa kali lipat. Apakah itu bisa menjadi pemicunya?