Обновление 3.17: различия между версиями

Материал из WiKi - UserSide
(Новая страница: «Версия: '''3.17''' Требуется версия: '''3.10 и выше''' == Несколько слов от автора == * Регламе…»)
 
Нет описания правки
 
(не показано 18 промежуточных версий 2 участников)
Строка 4: Строка 4:


== Несколько слов от автора ==
== Несколько слов от автора ==
* Все должно было быть не так... Версия 3.17 должна была выйти в начале марта 2022 года, но война всё перевернула. Однако наша работа не останавливалась и продолжается она и сейчас. Выход новой версии в марте был явно неуместен, но нужно двигаться вперёд.


* [[Регламент технической поддержки]]. Напоминаю, что мы поддерживаем, осуществляем консультацию и разбор ошибок только в рамках 3 последних версий ''(соответственно 3.17, 3.16 и 3.15)''. Для более ранних версий только рекомендуются обновления до последних сборок.
* Мы очень много сделали. Особенно старались сделать упор на доработку всяческих мелочей, что упрощают жизнь и работу. Прошу вдумчиво ознакомиться со [[3.17|списком изменений]].
 
* Принято решение давать имена собственные версиям и сборкам продукта. Сборки версии 3.17 будут именоваться созвездиями солнечной системы. Первая сборка 3.17 "[https://en.wikipedia.org/wiki/Scutum_(constellation) Scútum]" названа в честь созвездия "Щит"
 
* Открыт канал в [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
<youtube>https://youtu.be/AesEMZN_l5I</youtube>


== Особенности в проведении обновления ==
== Особенности в проведении обновления ==
Строка 24: Строка 31:


* Если вы обновляетесь с версии 3.15 и ранее - ознакомьтесь со страницей: [[Обновление 3.16]]
* Если вы обновляетесь с версии 3.15 и ранее - ознакомьтесь со страницей: [[Обновление 3.16]]
* Выполните настройку модуля [[Установка#websocket|WebSTOMP]]
* Установите supervisor, если еще не установлен. Он необходим для контроля за выполнением фоновых процессов.
<pre>
sudo apt install -y supervisor
</pre>


* С помощью автоматического [[Инсталлятор|инсталлятора]] выполните [[Обновление (инсталлятор)|обновление]]. В случае ошибки в процессе обновления или если работа инсталлятора не была завершена корректно, запустите инсталлятор в режиме восстановления:
* С помощью автоматического [[Инсталлятор|инсталлятора]] выполните [[Обновление (инсталлятор)|обновление]]. В случае ошибки в процессе обновления или если работа инсталлятора не была завершена корректно, запустите инсталлятор в режиме восстановления:
Строка 29: Строка 43:


* При обновлении на версию 3.17 часть данных будет мигрирована в иной формат хранения. Поэтому '''обновление может занять долгое время'''. Следует иметь это в виду.
* При обновлении на версию 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 не забудьте перечитать конфигурацию <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>
* Не забудьте обновить все модули на их свежие версии


'''Список изменений:''' [[3.17|просмотреть]]
'''Список изменений:''' [[3.17|просмотреть]]


'''Проведение обновления:''' [[Обновление (инсталлятор)|инструкция]]
'''Проведение обновления:''' [[Обновление (инсталлятор)|инструкция]]

Текущая версия от 15:25, 4 октября 2023

Версия: 3.17

Требуется версия: 3.10 и выше

Несколько слов от автора

  • Все должно было быть не так... Версия 3.17 должна была выйти в начале марта 2022 года, но война всё перевернула. Однако наша работа не останавливалась и продолжается она и сейчас. Выход новой версии в марте был явно неуместен, но нужно двигаться вперёд.
  • Мы очень много сделали. Особенно старались сделать упор на доработку всяческих мелочей, что упрощают жизнь и работу. Прошу вдумчиво ознакомиться со списком изменений.
  • Принято решение давать имена собственные версиям и сборкам продукта. Сборки версии 3.17 будут именоваться созвездиями солнечной системы. Первая сборка 3.17 "Scútum" названа в честь созвездия "Щит"
  • Открыт канал в YouTube, где будем время от времени выкладывать видео по продукту
  • Обновление. Рекомендую иметь два инстанса системы. Отдельно действующую и отдельно тестовую. На тестовой вы можете периодически обновлять базу данных с действующей системы и проводить обновление, убеждаясь, что всё работает, ознакомиться с нововведениями или выявлять моменты, которые у вас перестали работать.

Особенности в проведении обновления

  • Если вы обновляетесь с версии 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
  • Не забудьте обновить все модули на их свежие версии

Список изменений: просмотреть

Проведение обновления: инструкция