Создание резервной копии
Перед обновлением необходимо сделать копию старой версии Smarty Lite!
Есть два способа сделать резервную копию Smarty Lite: при помощи команды или самостоятельно. Ниже описана инструкция, как это делать самостоятельно.
Для создания копии старой версии Smarty Lite необходимо перейти в /usr/share/microimpuls/smarty-lite
и перенести в директорию для бэкапа все файлы, кроме папки media, так как она занимает большое количество места.
Обновление Smarty Lite
После создания копии нужно скачать пакеты для обновления, доступ к которым открывается в личном кабинете. Для разворачивания пакета используйте команду:
dpkg -i smarty-lite*.deb
После установки deb-пакета необходимо обновить python-библиотеки:
pip install -r /usr/share/microimpuls/smarty-lite/requirements.txt
Далее необходимо применить миграции:
smarty_manage migrate
И перезапустить сервис:
service uwsgi restart
Запрет на обновление в часы наивысшей нагрузки
Настоятельно не рекомендуем проводить работы по обновлению в выходные и праздничные дни, а также в часы наивысшей нагрузки сервиса от абонентов. В случае возникновения каких-либо критических проблем мы не сможем оказать вам помощь в нерабочее время.
Действия при простое сервера
Если после обновления админка Smarty перестала открываться или перестало работать приложение, то в первую очередь следует проверить логи uwsgi (/var/log/uwsgi
) и содержимое файла /var/log/microimpuls/smarty-lite/smarty_traceback.log
. Текст ошибок раскроет суть проблемы, как правило, она заключается в том, что инстансу Smarty Lite не удаётся подключиться к какому-либо из компонентов.
Возможные проблемы при обновлении
Выбор неподходящей версии Smarty Lite
Если во время миграции произошли проблемы, то есть вероятность, что был выбран deb-пакет, который не подходит для текущей версии ОС на сервере.
Рекомендации по исправлению
Для начала необходимо узнать версию Debian, для которой вы хотите поставить обновление. Для этого надо прописать команду
lsb_release -a
и переустановить deb-пакет под текущую версию операционной системы с миграцией.
Остановка миграции на новую версию
Ошибки при миграции могут вызвать их остановку.
Рекомендации по исправлению
- Не следует запускать команду
smarty_manage makemigrations
- Необходимо удалить все файлы с выполненными миграциями
- Нужно переустановить deb-пакет с обновлением
- Запустить команду
smarty_manage migrate
Если вышеуказанные действия не помогли возобновить миграцию, то необходимо написать в Техническую Поддержку или на почту support@microimpuls.com, если у вас есть услуга расширенной Технической Поддержки.
Форма подачи письма с проблемой
- Операционная система
- Версия операционной системы
- Используемая версия Python
- Какая версия Smarty Lite стояла до обновления
- Какую версию Smarty Lite установили
- Сообщение об ошибке.
Некорректная настройка cron
Для правильной работы сервиса необходим корректный и своевременный запуск management-команд по расписанию. Неверно настроенный cron может привести, например, к пустому списку каналов и другим проблемам внутри приложения.
Рекомендации по исправлению
Необходимо проверить написание команд в файле /etc/crontab
. Команды должны выглядеть следующим образом:
Запуск smarty_manage makemigrations
При миграции может появиться предложение запустить команду
smarty_manage makemigrations
Этого нельзя делать ни в коем случае, так как Smarty Lite может не запуститься.
Рекомендации по исправлению
Если команда makemigrations
всё-таки была запущена, то единственное решение проблемы — это восстановление Smarty Lite из сделанного заранее бэкапа.
Отклонение обновления файла base.py
При обновлении Smarty Lite может появиться вопрос «Обновить файл base.py?». На этот вопрос всегда следует соглашаться, иначе могут появиться ошибки, связанные с неинициализированными переменными.
Рекомендации по исправлению
Вариант №1: восстановить Smarty Lite из сделанного заранее бэкапа и поставить обновление заново, согласившись с обновлением файла base.py.
Вариант №2: распаковать deb-пакет в отдельной папке, найти файл base.py
и вручную перенести его в папку со Smarty Lite.