Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 37 Следующий »

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

Установка

Для установки и работы апдейтера требуются доступы:

  • К ресурсам HFLabs fs.hflabs.ru и maven.hflabs.ru для скачивания дистрибутивов и справочников.
  • К интернет-ресурсам для установки пакетов:

    files.pythonhosted.org
    pythonhosted.org
    pypi.python.org
    pypi.org

Утилита работает на Linux и требует наличия Python 2.7 или Python 3.5+. Скорее всего, в вашем дистрибутиве он есть, проверьте:

$ python --version
Python 2.7.15

Если версия Python < 2.7.9, предварительно установите pip (команды для CentOS 7):

sudo yum install epel-release
sudo yum install python-pip
sudo pip install 'pip==20.3.4'

Архив с утилитой (последняя версия): https://fs.hflabs.ru/sgt-flight/updater/updater-25.5.zip

Установка (Python 2):

unzip updater-25.5.zip -d /opt/updater
cd /opt/updater
sudo pip install 'virtualenv==16.7.9'
python -m virtualenv env
env/bin/pip install -r requirements.txt

Установка (Python 3):

unzip updater-25.5.zip -d /opt/updater
cd /opt/updater
python -m venv env
env/bin/pip install --upgrade pip
env/bin/pip install -r requirements.txt

Настройка

Для работы утилите надо знать базовый путь к справочникам, а также пользователя, под которым они работают. Настройки по умолчанию — в файле updater.env. Лучше всего их и использовать.
updater.env
# Путь к Artifactory
# Если есть локальное зеркало Artifactory, достаточно перекрыть эту переменную,
# чтобы апдейтер переключился с maven.hflabs.ru на локальное зеркало, например:
# export ARTIFACTORY_PATH="http://maven.mycorp.ru/artifactory/hflabs-maven-remote"
export ARTIFACTORY_PATH="https://maven.hflabs.ru/artifactory/list/ext-releases-{}"

# Путь к каталогу справочников Подсказок
export SUGGESTIONS_DICTIONARY_HOME="..."

# Имя пользователя, под которым работают Подсказки
export SUGGESTIONS_USERNAME="..."

# Порт, на котором работает API Подсказок
export SUGGESTIONS_API_PORT="..."

# Пароль для доступа к API Подсказок 22.10+ 
export SUGGESTIONS_API_PASSWORD="..."

Файл подключается командой «.»:

. updater.env

Если вы хотите поменять настройки по умолчанию, не меняйте файл updater.env — он будет затёрт при очередном обновлении. Вместо этого создайте собственный файл с настройками и подключайте его после updater.env:

 . updater.env && . custom.env && env/bin/fab название_команды название_справочника

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

Запуск

Синтаксис следующий:
env/bin/fab название_команды название_справочника

Авторизация в репозитории

Утилита скачивает справочники из репозитория HFLabs (maven.hflabs.ru). С мая 2024 он требует авторизации.

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

В противном случае, задайте для пользователя, под которым запускается утилита, настройки в файле ~/.netrc:

~/.netrc
machine maven.hflabs.ru
login ЛОГИН
password ПАРОЛЬ

Если не знаете логин и пароль, уточните их в службе поддержки.

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

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

updater.env
export HTTP_PROXY="http://proxy_server_ip:port"
export HTTPS_PROXY="https://proxy_server_ip:port"

Во-вторых, в ~/.wgetrc для пользователя, под которым запускается апдейтер:

~/.wgetrc
use_proxy=yes
http_proxy=http://proxy_server_ip:port
https_proxy=https://proxy_server_ip:port
no_proxy=localhost


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

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

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

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

Поддерживаются справочники:

КодОписаниеРазмерВерсия
suggestions_addressАдреса России (только адм. деление)9100Mдо 22.11
suggestions_easАдреса России (адм. + мун. деление)4500M22.4+
    suggestions_geo    координаты1300M
    suggestions_house    дополнительные дома65M
    suggestions_stead    земельные участки21.12+
    suggestions_flat    квартиры21.2+
    suggestions_iso3166    ISO-коды1M
suggestions_address_foreignАдреса стран мира90M23.11+
suggestions_geonamesГорода мира (кроме Белоруссии)290Mдо 23.9
suggestions_osmАдреса Белоруссии70Mдо 23.9
suggestions_fiasФИАС9100M
suggestions_bankБанки5M
suggestions_emailЭл. почта20M
suggestions_fioФИО40M
suggestions_ipIP-адреса7M
suggestions_partyКомпании19050M
suggestions_partyextКомпании
(ранжирование + реестры)
200M

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

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

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

# Команды выполняются на сервере приложения

env/bin/fab download suggestions_bank
env/bin/fab download suggestions_email
env/bin/fab download suggestions_fio
env/bin/fab download suggestions_ip

env/bin/fab download suggestions_eas
env/bin/fab download suggestions_geo
env/bin/fab download suggestions_house
env/bin/fab download suggestions_iso3166
env/bin/fab download suggestions_address_foreign

env/bin/fab download suggestions_party
env/bin/fab download suggestions_partyext

Если же на сервере приложения внешний доступ полностью закрыт, воспользуйтесь командами download-to и scp:

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

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

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

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

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

Если утилита выполняется на сервере приложения:

# Команды выполняются на сервере приложения

env/bin/fab update suggestions_bank
env/bin/fab update suggestions_email
env/bin/fab update suggestions_fio
env/bin/fab update suggestions_ip

env/bin/fab update suggestions_eas
env/bin/fab update suggestions_flat
env/bin/fab update suggestions_stead
env/bin/fab update suggestions_address_foreign

env/bin/fab update suggestions_party

Если утилита выполняется с внешней машины:

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

env/bin/fab -H 10.0.1.34 update suggestions_bank
...

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

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

Скачать и обновить внешний справочник (на примере справочника fms_unit):

env/bin/fab download-outward public fms_unit
env/bin/fab update-outward public fms_unit

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

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

После того, как справочник скопирован на сервер, его можно обновить командой update-outward (замените NAME на название справочника):

env/bin/fab update-outward public NAME

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

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

env/bin/fab version


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

Если у вас версия 21.7 или раньше

Обновляйте справочники только последовательно, по одному за раз. Никогда не запускайте одновременно индексацию двух и более справочников.

В версиях 21.8+ можно запускать обновление одновременно — «Подсказки» все равно будут индексировать справочники последовательно.

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

Пример, если полный путь к утилите /opt/updater:

00 21 * * 6  cd /opt/updater && . /opt/updater/updater.env && /opt/updater/download-dictionaries.sh
00 01 * * 0  cd /opt/updater && . /opt/updater/updater.env && /opt/updater/update-dictionaries.sh
/opt/updater/download-dictionaries.sh
/opt/updater/env/bin/fab download suggestions_bank
/opt/updater/env/bin/fab download suggestions_email
/opt/updater/env/bin/fab download suggestions_fio
/opt/updater/env/bin/fab download suggestions_ip
 
/opt/updater/env/bin/fab download suggestions_eas
/opt/updater/env/bin/fab download suggestions_geo
/opt/updater/env/bin/fab download suggestions_house
/opt/updater/env/bin/fab download suggestions_iso3166
/opt/updater/env/bin/fab download suggestions_address_foreign

/opt/updater/env/bin/fab download suggestions_party
/opt/updater/env/bin/fab download suggestions_partyext

/opt/updater/env/bin/fab download factor_geocode
/opt/updater/env/bin/fab download factor_fias
/opt/updater/update-dictionaries.sh
/opt/updater/env/bin/fab update suggestions_bank
/opt/updater/env/bin/fab update suggestions_email
/opt/updater/env/bin/fab update suggestions_fio
/opt/updater/env/bin/fab update suggestions_ip

/opt/updater/env/bin/fab update suggestions_eas
/opt/updater/env/bin/fab update suggestions_flat
/opt/updater/env/bin/fab update suggestions_stead
/opt/updater/env/bin/fab update suggestions_address_foreign

/opt/updater/env/bin/fab update suggestions_party

/opt/updater/env/bin/fab update factor_geocode
/opt/updater/env/bin/fab update factor_fias



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

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

Пользователь $CDI_API_USERNAME должен иметь права на работу с SOAP-сервисом TaskWS.

  • Нет меток