1. Домой
  2. Документы
  3. Smarty Lite
  4. Инструкция по обновлению
  5. Обновление Smarty Lite

Обновление Smarty Lite

Создание резервной копии

Перед обновлением необходимо сделать копию старой версии 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-пакет под текущую версию операционной системы с миграцией.

Остановка миграции на новую версию

Ошибки при миграции могут вызвать их остановку.

Рекомендации по исправлению

  1. Не следует запускать команду smarty_manage makemigrations
  2. Необходимо удалить все файлы с выполненными миграциями
  3. Нужно переустановить deb-пакет с обновлением
  4. Запустить команду smarty_manage migrate

Если вышеуказанные действия не помогли возобновить миграцию, то необходимо написать в Техническую Поддержку или на почту support@microimpuls.com, если у вас есть услуга расширенной Технической Поддержки.

Форма подачи письма с проблемой

  1. Операционная система
  2. Версия операционной системы
  3. Используемая версия Python
  4. Какая версия Smarty Lite стояла до обновления
  5. Какую версию Smarty Lite установили
  6. Сообщение об ошибке.

Некорректная настройка 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.