Обновление 3.17: различия между версиями
Uscld2 (обсуждение | вклад) |
Нет описания правки |
||
(не показаны 4 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
[[Upgrade_3.17|en]] | [[Обновление_3.17|ru]] | |||
Версия: '''[[3.17]]''' | Версия: '''[[3.17]]''' | ||
Строка 12: | Строка 14: | ||
* Открыт канал в [https://www.youtube.com/channel/UCwocKxniJDc8cx0aWglpaFA YouTube], где будем время от времени выкладывать видео по продукту | * Открыт канал в [https://www.youtube.com/channel/UCwocKxniJDc8cx0aWglpaFA YouTube], где будем время от времени выкладывать видео по продукту | ||
* [[ | * [[Обновление]]. '''Рекомендую иметь два инстанса системы'''. Отдельно действующую и отдельно тестовую. На тестовой вы можете периодически обновлять базу данных с действующей системы и проводить обновление, убеждаясь, что всё работает, ознакомиться с нововведениями или выявлять моменты, которые у вас перестали работать. | ||
* Наша группа в Telegram для взаимного общения клиентов между собой: https://t.me/usersideeu и канал для новостей: https://t.me/userside | * Наша группа в Telegram для взаимного общения клиентов между собой: https://t.me/usersideeu и канал для новостей: https://t.me/userside | ||
Строка 33: | Строка 35: | ||
* Выполните настройку модуля [[Установка#websocket|WebSTOMP]] | * Выполните настройку модуля [[Установка#websocket|WebSTOMP]] | ||
* USERSIDE 3.17 ''требует Python3 любой поддерживаемой на данный момент версии. Статус версий можно посмотреть здесь: "[https://devguide.python.org/versions/ Status of Python versions]". Рекомендуется использовать версию с состоянием "security" или "bugfix". Версии отмеченные как "end-of-life" не поддерживаются. Отмеченные как "feature" не рекомендуется использовать. Если у вас на хосте неподдерживаемая версия ("end-of-life"), то нужно обязательно [[Python-update|установить дополнительно]] более свежую версию Python.'' | |||
* Установите supervisor, если еще не установлен. Он необходим для контроля за выполнением фоновых процессов. | * Установите supervisor, если еще не установлен. Он необходим для контроля за выполнением фоновых процессов. | ||
Строка 39: | Строка 43: | ||
</pre> | </pre> | ||
* С помощью автоматического [[Инсталлятор|инсталлятора]] выполните [[Обновление | * С помощью автоматического [[Инсталлятор|инсталлятора]] выполните [[Обновление|обновление]]. В случае ошибки в процессе обновления или если работа инсталлятора не была завершена корректно, запустите инсталлятор в режиме восстановления: | ||
sudo -u www-data php userside_install.phar repair | sudo -u www-data php userside_install.phar repair | ||
Строка 67: | Строка 71: | ||
[program:us-core-worker] | [program:us-core-worker] | ||
process_name=%(program_name)s_%(process_num)02d | process_name=%(program_name)s_%(process_num)02d | ||
command=/usr/bin/php /var/www/userside/ | command=/usr/bin/php /var/www/userside/userside queue/listen | ||
directory=/var/www/userside | directory=/var/www/userside | ||
autostart=true | autostart=true | ||
Строка 106: | Строка 110: | ||
'''Список изменений:''' [[3.17|просмотреть]] | '''Список изменений:''' [[3.17|просмотреть]] | ||
'''Проведение обновления:''' [[Обновление | '''Проведение обновления:''' [[Обновление|инструкция]] |
Текущая версия от 13:00, 18 октября 2024
Версия: 3.17
Требуется версия: 3.10 и выше
Несколько слов от автора
- Все должно было быть не так... Версия 3.17 должна была выйти в начале марта 2022 года, но война всё перевернула. Однако наша работа не останавливалась и продолжается она и сейчас. Выход новой версии в марте был явно неуместен, но нужно двигаться вперёд.
- Мы очень много сделали. Особенно старались сделать упор на доработку всяческих мелочей, что упрощают жизнь и работу. Прошу вдумчиво ознакомиться со списком изменений.
- Принято решение давать имена собственные версиям и сборкам продукта. Сборки версии 3.17 будут именоваться созвездиями солнечной системы. Первая сборка 3.17 "Scútum" названа в честь созвездия "Щит"
- Открыт канал в YouTube, где будем время от времени выкладывать видео по продукту
- Обновление. Рекомендую иметь два инстанса системы. Отдельно действующую и отдельно тестовую. На тестовой вы можете периодически обновлять базу данных с действующей системы и проводить обновление, убеждаясь, что всё работает, ознакомиться с нововведениями или выявлять моменты, которые у вас перестали работать.
- Наша группа в Telegram для взаимного общения клиентов между собой: https://t.me/usersideeu и канал для новостей: https://t.me/userside
Особенности в проведении обновления
- Если вы обновляетесь с версии 3.10 - ознакомьтесь со страницей: Обновление 3.11
- Если вы обновляетесь с версии 3.11 и ранее - ознакомьтесь со страницей: Обновление 3.12
- Если вы обновляетесь с версии 3.12 и ранее - ознакомьтесь со страницей: Обновление 3.13
- Если вы обновляетесь с версии 3.13 и ранее - ознакомьтесь со страницей: Обновление 3.14
- Если вы обновляетесь с версии 3.14 и ранее - ознакомьтесь со страницей: Обновление 3.15
- Если вы обновляетесь с версии 3.15 и ранее - ознакомьтесь со страницей: Обновление 3.16
- Выполните настройку модуля WebSTOMP
- USERSIDE 3.17 требует Python3 любой поддерживаемой на данный момент версии. Статус версий можно посмотреть здесь: "Status of Python versions". Рекомендуется использовать версию с состоянием "security" или "bugfix". Версии отмеченные как "end-of-life" не поддерживаются. Отмеченные как "feature" не рекомендуется использовать. Если у вас на хосте неподдерживаемая версия ("end-of-life"), то нужно обязательно установить дополнительно более свежую версию Python.
- Установите supervisor, если еще не установлен. Он необходим для контроля за выполнением фоновых процессов.
sudo apt install -y supervisor
- С помощью автоматического инсталлятора выполните обновление. В случае ошибки в процессе обновления или если работа инсталлятора не была завершена корректно, запустите инсталлятор в режиме восстановления:
sudo -u www-data php userside_install.phar repair
- При обновлении на версию 3.17 часть данных будет мигрирована в иной формат хранения. Поэтому обновление может занять долгое время. Следует иметь это в виду.
- Дополнительные поля абонентов-юридических лиц и потенциальных абонентов объединены с дополнительными полями "обычных" абонентов и поэтому идентификаторы таких дополнительных полей могут измениться. В связи с этим, если у вас из биллинга импортируются значения дополнительных полей абонентов - то следует перепроверить значения этих параметров в файле-конфигурации модуля взаимодействия с биллингом (вписать актуальные ID дополнительных полей).
- Множественные изменения в API. Ознакомьтесь с изменениями на странице Версии 3.17 (раздел 3.17dev1)
- После обновления в разделе "Настройка - Основная - WebSocket" настройте необходимые параметры из тех, что указали при настройке WebSTOMP
- Добавьте в конфигурацию сервера nginx реверсивный прокси для WebSTOMP (RabbitMQ):
location /ws { proxy_pass http://127.0.0.1:15674/ws; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; }
Если у вас RabbitMQ расположен на другом сервере, укажите его IP-адрес вместо 127.0.0.1. Протокол в proxy_pass должен быть http. Ничего больше, кроме IP-адреса, менять не нужно.
После изменения конфигурации nginx не забудьте перечитать конфигурацию sudo nginx -s reload
либо перезагрузить nginx.
- Добавьте конфигурацию супервизора, которая будет контролировать фоновые службы userside. Для этого целиком скопируйте выполните следующий блок:
sudo tee /etc/supervisor/conf.d/us-core-worker.conf << EOL [program:us-core-worker] process_name=%(program_name)s_%(process_num)02d command=/usr/bin/php /var/www/userside/userside queue/listen directory=/var/www/userside autostart=true autorestart=true user=www-data numprocs=10 redirect_stderr=true stdout_logfile=/var/www/userside/var/log/core-worker.log EOL
- Установите зависимые компоненты для системной службы usm_poller, которая поставляется вместе с userside:
cd /var/www/userside/microservice/poller sudo python3 -m venv venv sudo ./venv/bin/pip install --upgrade pip wheel sudo ./venv/bin/pip install --upgrade -r requirements.txt
- Скопируйте конфигурационный файл supervisor для usm_poller:
sudo cp etc/us-poller-microservice.conf-example /etc/supervisor/conf.d/usm-poller.conf
- Активируйте и запустите (перезапустите) службу supervisor:
sudo systemctl enable supervisor sudo systemctl restart supervisor
- Спустя примерно 10 секунд проверьте состояние контролируемых служб. По умолчанию вы должны увидеть по 10 экземпляров us-core-worker и usm-poller. Все они должны быть в состоянии RUNNING:
sudo supervisorctl status
- Не забудьте обновить все модули на их свежие версии
Список изменений: просмотреть
Проведение обновления: инструкция