В настоящее время я занимаюсь разработкой проекта с использованием Python 3.7, Django 2.1, Mysql в качестве базы данных.
Я развертываю его в стандартной среде механизма облачных приложений Google и для базы данных использую облачный SQL- MySql 2nd gen instance.
Приложение работает хорошо, однако, когда я анализирую журналы, я вижу эти ошибки:
"прервано соединение - ошибка чтения пакетов связи"
В этом случае соединение закрывается моим приложением (django). Если я настраиваю свое приложение на наличие постоянных подключений и помещаю wait_timeout (то есть 60) в конфигурацию облака SQL, ошибка:
"прервано соединение - истекло время ожидания при чтении пакетов связи".
Я только что определил, что это не проблема с облаком SQL или с настройкой моего приложения,но это проблема движка приложения.Я пришел к такому выводу следующим образом:
- если я подключаюсь к экземпляру облака SQL через Mysql Workbench, соединение не прерывается
- Аналогично, если я запускаю свое приложение на локальном компьютересервера, но при подключении к облаку SQL (через cloud_sql_proxy), не генерируется никаких ошибок, и все работает идеально.
Итак, я пришел к выводу, что проблема заключается в том, как механизм приложений подключается к облаку SQLэкземпляр.
Почему это происходит?Как это можно решить?