В этой статье:
Шаг 1. Настройка планировщика задач для DEV-контура
Шаг 2. Настройка планировщика задач для TEST и PROD-контуров
В транспорте изменений перенос файлов осуществляется с использованием планировщика задач. Для каждого контура системы должен быть установлен планировщик задач на отдельном сервере от BI-сервера, а также выполнены его настройки.
Примечание. Для корректной работы планировщика требуется отдельно выделенный компьютер. Не рекомендуется устанавливать планировщики разных версий «Форсайт. Аналитическая платформа». Это связано с тем, что планировщики разных версий некорректно работают с PID-файлами в ОС Linux.
Для настройки планировщика задач для DEV-контура выполните следующие шаги:
Убедитесь, что установлен актуальный Python 3 версии.
Установите Git на сервере планировщика:
sudo apt-get install git
Установите BI-сервер. Для создания конфигурационного файла планировщика используйте инструкцию, приведённую в разделе «Запуск задач на выполнение».
Перейдите в каталог /etc/systemd/system и откройте файл scheduler.service. Выполните настройку службы scheduler.service:
Закомментируйте строки с переменными TNS_ADMIN, ORACLE_HOME, PATH и PYTHONPATH.
Добавьте строки с переменными:
GIT_AUTH_HEADER.
Зашифрованная в base64 строка: <user.name>:<токен доступа проекта>,
где user.name
- значение параметра, которое используется в команде git config при настройке
планировщика задач.
Для получения подробной информации о токене доступа проекта
обратитесь к разделу «Настройка
программного обеспечения».
Environment=GIT_AUTH_HEADER="Authorization: Basic <Зашифрованный токен (см ниже)>" #<Заголовок для авторизации в Git>
NEXUS_CREDENTIALS. Учётные данные для авторизации в Nexus:
Environment=NEXUS_CREDENTIALS="логин:пароль" #<учётные данные для подключения к Nexus>
Пример настроек службы scheduler.service:
[Unit]
Description=FP10.X Scheduler
After=syslog.target
[Service]
Environment=LC_NAME=ru_RU.UTF-8
Environment=LANG=ru_RU.UTF-8
#Environment=TNS_ADMIN=/opt/foresight/fp10.x-biserver/bin
Environment=WSFCPP_HOME=/opt/foresight/fp10.x-biserver/bin
Environment=LD_LIBRARY_PATH=$WSFCPP_HOME:$LD_LIBRARY_PATH
Environment=DISPLAY=:987
LimitNOFILE=500000
Environment=LSHOST=<веб-сервер>
#Environment=PATH=$WSFCPP_HOME:$PATH
Environment=HOME=/opt/foresight/fp10.x-biserver/etc
Environment=PP_LOG=1
Environment=GIT_AUTH_HEADER="Authorization: Basic VXBkYXRlX21hbmFnZXI6Z2xwYXQtMkd6blYxeVYxNUJfUUd5eGN6Z3o="
Environment=NEXUS_CREDENTIALS="<имя пользователя>:<пароль>"
Type=forking
PIDFile=/var/run/scheduler.pid
WorkingDirectory=/opt/foresight/fp10.x-biserver/bin
ExecStart=/opt/foresight/fp10.x-biserver/bin/Scheduler -d -x /opt/foresight/fp10.x-biserver/bin/Scheduler.xml
Restart=always
Настройте конфигурационный файл планировщика Scheduler.xml:
укажите в параметре RestartSecs раздела TaskContainer значение, определяющее периодичность проверки статусов задач контейнера;
укажите в параметре KEY раздела TaskContainer ключ контейнера запланированных задач с идентификатором TCNT_DOPS_UPDATE_CONTAINER.
Пример содержимого файла Scheduler.xml:
<Metabases>
<TS0_CLEAR_MASTER_DEV Name="TS0_CLEAR_MASTER_DEV" Authentication="1" Driver="POSTGRES" Package="STANDARDSECURITYPACKAGE" DebugMode="1">
<LogonData DATABASE="TS0_CLEAR_MASTER_DEV" SERVER="10.30.45.32" CASESENSITIVE="true"/>
<Credentials Authentication="1" USER="TS0_CLEAR_MASTER_DEV" PASSWORD="TS0_CLEAR_MASTER_DEV"/>
<TaskContainer KEY="1485" ID="TCNT_DOPS_UPDATE_CONTAINER_DEV" RestartSecs="5"/>
</TS0_CLEAR_MASTER_DEV>
</Metabases>
Укажите псевдоним, под которым будет выполнятся авторизация в GitLab, выполнив команды:
git config --global user.name "<имя пользователя>"
git config --global user.email "<адрес электронной почты>"
Перезапустите сервер планировщика, выполнив последовательно команды:
sudo systemctl daemon-reload
sudo systemctl start scheduler.service
sudo systemctl status scheduler.service
Убедитесь, в корректности выполненных настроек:
проверьте логи планировщика задач:
sudo journalctl -feu scheduler.service
проверьте, что в контейнере запланированных задач с идентификатором TCNT_DOPS_UPDATE_CONTAINER состояние задачи Async run task имеет значение «Выполнена». Для изменения статуса задачи со значения «Готова» выполните следующие действия:
Деактивируйте задачу и сохраните изменения.
Задайте повторно периодичность выполнения задачи.
Откройте задачу на редактирование задачи и убедитесь, что выбран модуль Update commands с функцией PrepareCommand и результатом «истина».
Настройка планировщика задач для TEST и PROD-контуров аналогична настройке планировщика для DEV-контура. Файл Scheduler.xml должен иметь запись с данными для подключения к TEST/PROD-репозиторию соответственно. Ключ справочника в разделе <TaskContainer> файла Scheduler.xml будет отличаться от ключа в DEV-репозитории.
См. также: