В этой статье:

Шаг 1. Настройка планировщика задач для DEV-контура

Шаг 2. Настройка планировщика задач для TEST и PROD-контуров

Ошибки в логе планировщика

Настройка планировщика задач

В транспорте изменений перенос файлов осуществляется с использованием планировщика задач. Для каждого контура системы должен быть установлен планировщик задач на отдельном сервере от BI-сервера, а также выполнены его настройки.

Примечание. Для корректной работы планировщика требуется отдельно выделенный компьютер. Не рекомендуется устанавливать планировщики разных версий «Форсайт. Аналитическая платформа». Это связано с тем, что планировщики разных версий некорректно работают с PID-файлами в ОС Linux.

Шаг 1. Настройка планировщика задач для DEV-контура

Для настройки планировщика задач для DEV-контура выполните следующие шаги:

  1. Убедитесь, что установлен актуальный Python 3 версии.

  2. Установите Git на сервере планировщика:

sudo apt-get install git

  1. Установите BI-сервер. Для создания конфигурационного файла планировщика используйте инструкцию, приведённую в разделе «Запуск задач на выполнение».

  2. Перейдите в каталог /etc/systemd/system и откройте файл scheduler.service. Выполните настройку службы scheduler.service:

    1. Закомментируйте строки с переменными TNS_ADMIN, ORACLE_HOME, PATH и PYTHONPATH.

    2. Добавьте строки с переменными:

      • 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

  1. Настройте конфигурационный файл планировщика Scheduler.xml:

Пример содержимого файла 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>

  1. Укажите псевдоним, под которым будет выполнятся авторизация в GitLab, выполнив команды:

git config --global user.name "<имя пользователя>"

git config --global user.email "<адрес электронной почты>"

  1. Перезапустите сервер планировщика, выполнив последовательно команды:

sudo systemctl daemon-reload

sudo systemctl start scheduler.service

sudo systemctl status scheduler.service

  1. Убедитесь, в корректности выполненных настроек:

sudo journalctl -feu scheduler.service

Шаг 2. Настройка планировщика задач для TEST и PROD-контуров

Настройка планировщика задач для TEST и PROD-контуров аналогична настройке планировщика для DEV-контура. Файл Scheduler.xml должен иметь запись с данными для подключения к TEST/PROD-репозиторию соответственно. Ключ справочника в разделе <TaskContainer> файла Scheduler.xml будет отличаться от ключа в DEV-репозитории.

Ошибки в логе планировщика

Ошибка Unspecified error

Не удалось выполнить команду git pull

См. также:

Настройка инфраструктуры для переноса обновлений