इस तरह के व्यवहार का कारण डेटाबेस से लगातार जुड़ना है, जिसे Django 1.6 में पेश किया गया था।
कनेक्शन टाइमआउट त्रुटि को रोकने के लिए आपको CONN_MAX_AGE
. सेट करना चाहिए settings.py
. में मान के लिए जो wait_timeout
. से कम है MySQL कॉन्फ़िगरेशन में (my.cnf
) उस स्थिति में Django को पता चलता है कि MySQL द्वारा फेंके जाने से पहले कनेक्शन को फिर से खोलने की आवश्यकता है। MySQL 5.7 के लिए डिफ़ॉल्ट मान 28800 सेकंड है।
settings.py
:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'CONN_MAX_AGE': 3600,
<other params here>
}
}
दस्तावेज़ीकरण:https://docs.djangoproject.com/ hi/1.7/ref/settings/#conn-max-age
my.cnf
:
wait_timeout = 28800
दस्तावेज़ीकरण:https://dev.mysql .com/doc/refman/5.7/hi/server-system-variables.html#sysvar_wait_timeout