Есть проект для разработки на 1С-Битрикс. Проект лежит на shared-хостинге, там слабые ресурсы, при запросах к бд постоянно возникает ошибка MySQL.
В проекте используется самописный модуль со своей ORM и таблицей, которая создана по
документации
Таблица модуля содержит список городов, каждый элемент, город, имеет ID, символьный код, название, название на английском и описание на русском и английском языках, идентификатор страны.
Сайт через API со стороннего сервиса получает json массив с актуальным списком городов (каждый элемент это город и актуальное описание к нему ), затем массив конвертируется в PHP массив и обходится циклом , при каждой итерации идёт обращение к ORM таблице городов, сравнивается описание города и если оно отличается происходит апдейт записи.
$result = CityTable::update($id, $params);
Периодически при апдейте и просто выведении списка городов, происходит ошибки
MySQL server has gone away
Каким образом можно убрать эту ошибку не изменяя параметров настроек MySQL на сервере?
Не проблема обновлять список город за долгое время час или два. Может быть при обходе цикла поставить директиву sleep?
Я думал сам запрос поместить в статический метод класса, где при каждой итерации будет изменяться значение статического поля число итераций, и например когда прошло 10 итераций выставлять директиву sleep.