Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Утилита обновления (апдейтер) сама скачивает и отдаёт «Подсказкам», «Фактору» и «Единому клиенту» новые версии справочников. Вам остаётся только настроить работу по расписанию.

Оглавление

Установка

Информация

Требуется доступ с сервера:

Если апдейтер будет запускаться не на сервере приложения, потребуются дополнительные права. Прочитайте раздел «Запуск с другой машины» ниже.

...

Без форматирования
unzip updater-20.9.2.zip -d /opt/updater
cd /opt/updater
python -m venv env
env/bin/pip install -r requirements.txt

Настройка

Для работы утилите надо знать базовый путь к справочникам, а также пользователя, под которым они работают. Настройки по умолчанию — в файле updater.env. Лучше всего их и использовать.

...

В custom.env укажите только те настройки, которые меняются по сравнению с умолчательными.

Запуск

Утилиту можно запускать с самого сервера приложения, либо с любой другой машины, с которой есть доступ по SSH к серверу приложения.

Запуск с сервера приложения

Синтаксис следующий:

Без форматирования
env/bin/fab название_команды название_справочника

Запуск с другой машины

В этом варианте утилита использует настройки ~/.ssh/config для подключения к серверу приложения. Например:

...

Без форматирования
env/bin/fab -H IP_адрес_сервера --prompt-for-login-password название_команды название_справочника

Работа через прокси-сервер

Чтобы апдейтер работал через прокси-сервер, требуется прописать его настройки в двух местах. Во-первых, в updater.env:

...

Блок кода
languagetext
title~/.wgetrc
use_proxy=yes
http_proxy=http://proxy_server_ip:port
https_proxy=https://proxy_server_ip:port
no_proxy=localhost

Команды и справочники

Утилита умеет:

КомандаОписание
downloadСкачать справочник на сервер приложения
download-toСкачать справочник на локальную машину
scpСкопировать справочник с локальной машины на сервер приложения
updateОбновить справочник, предварительно скачанный на сервер приложения
download-outward

Скачать внешний справочник на сервер приложения

update-outwardОбновить внешний справочник, предварительно скачанный на сервер приложения

...

КодОписание
cdi_egrЕГРЮЛ в плоском виде
cdi_egrnormЕГРЮЛ в нормализованном виде
cdi_egrnormincЕГРЮЛ в нормализованном виде (инкремент)

И все внешние справочники.

Скачивание справочников

Если на сервере приложения разрешён доступ к репозиторию HFLabs, для скачивания справочника достаточно команды download:

...

Без форматирования
# Команды выполняются на внешней машине
# 10.0.1.34 — адрес сервера приложения

# 1) скачать справочник локально в каталог /tmp/dictionaries/address
env/bin/fab download-to suggestions_address /tmp/dictionaries/address

# 2) затем скопировать скачанный справочник на сервер приложения
env/bin/fab -H 10.0.1.34 scp suggestions_address /tmp/dictionaries/address

Обновление справочников

Обновление справочника всегда выполняется командой update, предварительно справочник должен быть скопирован на сервер приложения.

...

Без форматирования
# Команды выполняются на внешней машине
# 10.0.1.34 — адрес сервера приложения

# - обновить справочники Подсказок
env/bin/fab -H 10.0.1.34 update suggestions_address
...

# - обновить справочники Фактора
env/bin/fab -H 10.0.1.34 update factor_geocode
...

# - обновить справочники Единого клиента
env/bin/fab -H 10.0.1.34 update cdi_egr

Скачивание и обновление внешних справочников

Внешние справочники можно скачивать только непосредственно на сервер приложения. Если с сервера приложения нет доступа к репозиторию HFLabs, создайте каталог справочников на машине, с которой доступ есть, и подключите этот каталог на сервере приложения (по SSHFS или NFS, например).

...

Без форматирования
env/bin/fab download-outward public fms_unit
env/bin/fab update-outward public fms_unit

Проверка версии

Чтобы проверить версию утилиты, выполните команду version:

Без форматирования
env/bin/fab version

Работа по расписанию

Чтобы регулярно скачивать и обновлять справочники, добавьте задачи в крон.

...

Блок кода
languagebash
title/opt/updater/copy-dictionaries.sh
SERVER="10.0.1.34"
/opt/updater/env/bin/fab -H $SERVER scp suggestions_bank /tmp/dictionaries/suggestions_bank
/opt/updater/env/bin/fab -H $SERVER scp suggestions_ip /tmp/dictionaries/suggestions_ip
/opt/updater/env/bin/fab -H $SERVER scp suggestions_address /tmp/dictionaries/suggestions_address
/opt/updater/env/bin/fab -H $SERVER scp suggestions_geo /tmp/dictionaries/suggestions_geo
/opt/updater/env/bin/fab -H $SERVER scp suggestions_geonames /tmp/dictionaries/suggestions_geonames
/opt/updater/env/bin/fab -H $SERVER scp suggestions_osm /tmp/dictionaries/suggestions_osm
/opt/updater/env/bin/fab -H $SERVER scp suggestions_party /tmp/dictionaries/suggestions_party
/opt/updater/env/bin/fab -H $SERVER scp suggestions_partyext /tmp/dictionaries/suggestions_partyext
/opt/updater/env/bin/fab -H $SERVER scp suggestions_email /tmp/dictionaries/suggestions_email
/opt/updater/env/bin/fab -H $SERVER scp suggestions_fio /tmp/dictionaries/suggestions_fio
/opt/updater/env/bin/fab -H $SERVER scp factor_geocode /tmp/dictionaries/factor_geocode
/opt/updater/env/bin/fab -H $SERVER scp factor_fias /tmp/dictionaries/factor_fias

Особенности обновления справочника ЕГРЮЛ в «Едином клиенте»

Путь к каталогу справочника на сервере приложения ($CDI_DICTIONARY_HOME/egr) должен быть заранее прописан в настройках задачи EgrDictionaryImport.

...