История страницы
Информация |
---|
Полезный сторонний сервис, чтобы правильно писать кроны — crontab.guru Для указания воскресенья использовать 0 или Sun, 7-ка не поддерживается. |
Для регулярной загрузки и обновления справочников необходимо добавить задачи в расписание.
Добавление задач в расписание
Для этого нужно добавить задачи с помощью API сервиса schedule
|
Блок кода | ||||
---|---|---|---|---|
| ||||
[
{
"task":"upload",
"node":"suggestions_prod",
"schedule":"00 20 * * 4",
"dictionaries":[
"suggestions_bank",
"suggestions_email",
"suggestions_fio",
"suggestions_ip",
"suggestions_eas",
"suggestions_address_foreign",
"suggestions_party",
]
}
]
|
Информация |
---|
Обратите внимание, для основного справочника адресов |
Для «Фактора» и «Единого клиента» аналогично, изменив названия справочников и расписание
Блок кода | ||||
---|---|---|---|---|
| ||||
[
{
"task":"upload",
"node":"factor_prod",
"schedule":"00 20 * * 5",
"dictionaries":[
"factor_dispemail",
"factor_fias",
"factor_flatarea",
"factor_flatprice",
"factor_geocode",
"factor_oktmo",
"factor_rossvyaz",
"factor_tld",
"factor_transphone"
]
}
] |
Блок кода | ||||
---|---|---|---|---|
| ||||
[
{
"task":"upload",
"node":"cdi_prod",
"schedule":"00 20 * * 6",
"dictionaries":[
"cdi_egrnorm"
]
},
{
"task":"upload",
"node":"cdi_prod",
"schedule":"00 08 * * *",
"dictionaries":[
"cdi_egrnorminc"
]
}
] |
Для «Перекодера» необходимо добавить 2 расписания: первое на загрузку всех справочников и второе на запуск обновления через время, достаточное для загрузки и доставки всех справочников. В download мы указываем все справочники из необходимых 12, а в upload указываем любой один (т.к. Перекодер пока не умеет обновлять только указанные справочники, и все справочники загружаются одной и той же задачей):
Блок кода | ||||
---|---|---|---|---|
| ||||
[
{
"task":"download",
"node":"rdm_prod",
"schedule":"00 20 * * 6",
"dictionaries":[
"rdm_country",
"rdm_currency",
"rdm_fms_unit",
"rdm_fns_unit",
"rdm_metro",
"rdm_okpd2",
"rdm_oktmo",
"rdm_okved2",
"rdm_postal_unit",
"rdm_okfs",
"rdm_okopf",
"rdm-bic"
]
},
{
"task":"upload",
"node":"rdm_prod",
"schedule":"10 20 * * 6",
"dictionaries":[
"rdm-bic"
]
}
] |
Просмотр текущих задач в расписании
Для вывода списка текущих задач необходимо отправить GET запрос в API сервиса schedule
|
Удаление задачи из расписания
А чтобы удалить задачу из расписания необходимо отправить DELETE запрос в API сервиса schedule с указанием ID задачи
|
Чтобы регулярно скачивать и обновлять справочники, добавьте задачи в крон.
...
Если у вас версия 21.7 или раньше
Обновляйте справочники только последовательно, по одному за раз. Никогда не запускайте одновременно индексацию двух и более справочников. Для этого можно использовать паузы в скрипте, например:
Блок кода |
---|
./updater update suggestions_eas
sleep 30m ./updater update suggestions_ip
sleep 5m ./updater update suggestions_fio |
В версиях 21.8+ можно запускать обновление одновременно — «Подсказки» все равно будут индексировать справочники последовательно.
...
title | Обратите внимание |
---|
...
Раскрыть | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||
1. Отредактировать юнит файл крона
2. Перезагрузить список доступных сервисов, чтобы systemd мог управлять новым сервисом:
3. Перезагрузить сервис crond
|
...
title | Обратите внимание |
---|
...
Блок кода | ||
---|---|---|
| ||
ERROR err preparing to download: err invalid dictionary name |
Вероятно .sh скрипт составляли на Windows и он сохранился со своими символами переноса строки.
Проверить можно с помощью Notepad++, если в правом нижнем углу значение не Unix(LF), то необходимо преобразовать его (на скриншоте ниже)
...
title | Инструкция |
---|
...
Апдейтер установлен на сервере приложений
Пример для запуска обновления справочников «Подсказок», если утилита установлена на сервере приложений, а полный путь к утилите /opt/updater
Расписание:
Без форматирования |
---|
00 20 * * 4 cd /opt/updater && ./download-dictionaries-suggestions.sh |
Скрипты:
Блок кода | ||||
---|---|---|---|---|
| ||||
# Загрузка справочников Подсказок
./updater download suggestions_bank
./updater download suggestions_email
./updater download suggestions_fio
./updater download suggestions_ip
./updater download suggestions_eas
./updater download suggestions_geo #-------- Начиная с версии подсказок 20.4 обновляется совместно со справочником адресов
./updater download suggestions_house #------ Обновляется совместно со справочником адресов
./updater download suggestions_iso3166 #---- Обновляется совместно со справочником адресов
./updater download suggestions_address_foreign #-------- Доступен с версии подсказок 23.11 и заменяет справочники «geonames» и «osm». Дополнительно загружать «geonames» и «osm» в этом случае не нужно.
./updater download suggestions_geonames
./updater download suggestions_osm
./updater download suggestions_party
./updater download suggestions_partyext #---- Обновляется совместно со справочником компаний
# Обновление справочников Подсказок
./updater update suggestions_bank
./updater update suggestions_email
./updater update suggestions_fio
./updater update suggestions_ip
./updater update suggestions_eas
./updater update suggestions_flat #-------- Сам справочник загружается вместе со справочником адресов, отдельно грузить не нужно
./updater update suggestions_stead #------- Сам справочник загружается вместе со справочником адресов, отдельно грузить не нужно
./updater update suggestions_address_foreign #-------- Если версия подсказок с 23.11 и выше
./updater update suggestions_geonames
./updater update suggestions_osm
./updater update suggestions_party |
Для «Фактора» и «Единого клиента» аналогично добавить задачи в крон и создать скрипты:
Раскрыть | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
Расписание:
Скрипты:
|
Раскрыть | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
Расписание:
Скрипты:
|
Апдейтер установлен на удаленном сервере
Пример для запуска обновления справочников «Подсказок», если утилита установлена на удаленном сервере, а полный путь к утилите /opt/updater
Расписание:
Без форматирования |
---|
00 20 * * 4 cd /opt/updater && ./download-dictionaries-suggestions.sh |
Скрипты:
Блок кода | ||||
---|---|---|---|---|
| ||||
# 192.168.0.1 — адрес сервера Подсказок
SUG=192.168.0.1
# Загрузка справочников Подсказок на сервер Апдейтера
./updater download suggestions_bank
./updater download suggestions_email
./updater download suggestions_fio
./updater download suggestions_ip
./updater download suggestions_eas
./updater download suggestions_geo
./updater download suggestions_house
./updater download suggestions_iso3166
./updater download suggestions_geonames
./updater download suggestions_osm
./updater download suggestions_party
./updater download suggestions_partyext
# Передача справочников Подсказок на сервер Подсказок
./updater scp -H $SUG suggestions_bank
./updater scp -H $SUG suggestions_ip
./updater scp -H $SUG suggestions_email
./updater scp -H $SUG suggestions_fio
./updater scp -H $SUG suggestions_eas
./updater scp -H $SUG suggestions_geo
./updater scp -H $SUG suggestions_house
./updater scp -H $SUG suggestions_iso3166
./updater scp -H $SUG suggestions_geonames
./updater scp -H $SUG suggestions_osm
./updater scp -H $SUG suggestions_party
./updater scp -H $SUG suggestions_partyext
# Удаленное обновление справочников Подсказок
./updater update -H $SUG suggestions_bank
./updater update -H $SUG suggestions_email
./updater update -H $SUG suggestions_fio
./updater update -H $SUG suggestions_ip
./updater update -H $SUG suggestions_eas
./updater update -H $SUG suggestions_flat
./updater update -H $SUG suggestions_stead
./updater update -H $SUG suggestions_geonames
./updater update -H $SUG suggestions_osm
./updater update -H $SUG suggestions_party
|
Для «Фактора» и «Единого клиента» аналогично добавить задачи в крон и создать скрипты:
Раскрыть | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
Расписание:
Скрипты:
|
...
title | Настройка обновления по расписанию для «Единого клиента» |
---|
Расписание:
Без форматирования |
---|
00 20 * * 6 cd /opt/updater && ./download-dictionaries-cdi.sh |
Скрипты:
...
language | bash |
---|---|
title | /opt/updater/download-dictionaries-cdi.sh |
...