Как настроить постоянное соединение с базой данных MySQL с помощью скрипта, который читает сообщения, всегда активен и анализирует сообщения - PullRequest
0 голосов
/ 04 сентября 2018

Как я могу создать постоянное соединение с базой данных для прослушивания события? Я использую стороннюю библиотеку fbchat для чтения сообщений в Facebook и отправки запросов в базу данных на основе их сообщений. Я создаю событие прослушивания для чтения сообщения, используя функцию Client.listen(), как описано здесь: https://fbchat.readthedocs.io/en/master/intro.html#listening-events. Программа работает хорошо и все, но когда мне нужно, чтобы событие прослушивания всегда работало в производстве. Для этого я попытался с помощью Heroku free scheduler проверить, работает ли функция каждые 10 минут, и, если нет, запустить ее. Проблема в том, что, если я бездействую хотя бы какое-то время, попробуйте разобрать сообщение, полученное событием прослушивания, и запросить базу данных, я получаю эту ошибку:

(2006, потерянное соединение с MySQL)

Я посмотрел на это, и обнаружил, что ClearDB имеет автоматическое отключение соединения через 90 секунд. Я прочитал, что я мог бы добавить CON_MAX_AGE со значением, которое меньше wait_timeout, которое по умолчанию равно 28800, но ClearDB по умолчанию составляет 90 секунд. Я установил значение 60, но некоторое время все еще получаю сообщение об ошибке после простоя. Я понятия не имею, как решить эту проблему в данный момент. Как мне создать постоянное соединение, чтобы мой бот всегда видел каждое сообщение на Facebook и запрашивал эту базу данных, не разрывая соединение?

...