Обновление 3.17: различия между версиями
Admin (обсуждение | вклад) Нет описания правки |
Uscld2 (обсуждение | вклад) Нет описания правки |
||
(не показано 5 промежуточных версий 2 участников) | |||
Строка 7: | Строка 7: | ||
* Мы очень много сделали. Особенно старались сделать упор на доработку всяческих мелочей, что упрощают жизнь и работу. Прошу вдумчиво ознакомиться со [[3.17|списком изменений]]. | * Мы очень много сделали. Особенно старались сделать упор на доработку всяческих мелочей, что упрощают жизнь и работу. Прошу вдумчиво ознакомиться со [[3.17|списком изменений]]. | ||
* Принято решение давать имена собственные версиям и сборкам продукта. Сборки версии 3.17 будут именоваться созвездиями солнечной системы. Первая сборка 3.17 "[https://en.wikipedia.org/wiki/Scutum_(constellation) Scútum]" названа в честь созвездия "Щит" | |||
* Открыт канал в [https://www.youtube.com/channel/UCwocKxniJDc8cx0aWglpaFA YouTube], где будем время от времени выкладывать видео по продукту | * Открыт канал в [https://www.youtube.com/channel/UCwocKxniJDc8cx0aWglpaFA YouTube], где будем время от времени выкладывать видео по продукту | ||
Строка 31: | Строка 33: | ||
* Выполните настройку модуля [[Установка#websocket|WebSTOMP]] | * Выполните настройку модуля [[Установка#websocket|WebSTOMP]] | ||
* Установите supervisor, если еще не установлен. Он необходим для контроля за выполнением фоновых процессов. | |||
<pre> | |||
sudo apt install -y supervisor | |||
</pre> | |||
* С помощью автоматического [[Инсталлятор|инсталлятора]] выполните [[Обновление (инсталлятор)|обновление]]. В случае ошибки в процессе обновления или если работа инсталлятора не была завершена корректно, запустите инсталлятор в режиме восстановления: | * С помощью автоматического [[Инсталлятор|инсталлятора]] выполните [[Обновление (инсталлятор)|обновление]]. В случае ошибки в процессе обновления или если работа инсталлятора не была завершена корректно, запустите инсталлятор в режиме восстановления: | ||
Строка 43: | Строка 50: | ||
* После обновления в разделе "Настройка - Основная - WebSocket" настройте необходимые параметры из тех, что указали при настройке WebSTOMP | * После обновления в разделе "Настройка - Основная - WebSocket" настройте необходимые параметры из тех, что указали при настройке WebSTOMP | ||
* Добавьте в конфигурацию сервера nginx | * Добавьте в конфигурацию сервера 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 не забудьте перечитать конфигурацию <code>sudo nginx -s reload</code> либо перезагрузить nginx. | |||
* Добавьте конфигурацию супервизора, которая будет контролировать фоновые службы userside. Для этого целиком скопируйте выполните следующий блок: | |||
<pre> | |||
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 | |||
</pre> | |||
* Установите зависимые компоненты для системной службы usm_poller, которая поставляется вместе с userside: | |||
<pre> | |||
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 | |||
</pre> | |||
* Скопируйте конфигурационный файл supervisor для usm_poller: | |||
<pre> | |||
sudo cp etc/us-poller-microservice.conf-example /etc/supervisor/conf.d/usm-poller.conf | |||
</pre> | |||
* Активируйте и запустите (перезапустите) службу supervisor: | |||
<pre> | |||
sudo systemctl enable supervisor | |||
sudo systemctl restart supervisor | |||
</pre> | |||
* Спустя примерно 10 секунд проверьте состояние контролируемых служб. По умолчанию вы должны увидеть по 10 экземпляров us-core-worker и usm-poller. Все они должны быть в состоянии RUNNING: | |||
<pre> | |||
sudo supervisorctl status | |||
</pre> | |||
* Не забудьте обновить все модули на их свежие версии | * Не забудьте обновить все модули на их свежие версии |
Версия от 15:25, 4 октября 2023
Версия: 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
- Установите 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
- Не забудьте обновить все модули на их свежие версии
Список изменений: просмотреть
Проведение обновления: инструкция