Информация |
---|
Полезный сторонний сервис, чтобы правильно писать кроны — crontab.guru Для указания воскресенья использовать 0 или Sun, 7-ка не поддерживается. |
Для регулярной загрузки и обновления справочников необходимо добавить задачи в расписание.
Добавление задач в расписание
Для этого нужно добавить задачи с помощью API сервиса schedule
curl -X POST -u username:password -d '<Запрос>' http: //updaterHost :port /schedule
|
Блок кода |
---|
language | json |
---|
title | Запрос на добавление в расписание на обновление всех справочников «Подсказок» |
---|
|
[
{
"task":"upload",
"node":"suggestions_prod",
"schedule":" |
Чтобы регулярно скачивать и обновлять справочники, добавьте задачи на обновление в расписание.
Апдейтер установлен на сервере приложений
Пример для запуска обновления справочников «Подсказок», если утилита установлена на сервере приложений, а полный путь к утилите /opt/updater
Расписание:
Без форматирования |
---|
00 20 * * 4",
cd /opt/updater && ./download-dictionaries-suggestions.sh |
Скрипты:
Блок кода |
---|
language | bash |
---|
title | /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 |
Для «Фактора» и «Единого клиента» аналогично добавить задачи в крон и создать скрипты:
Раскрыть |
---|
title | Настройка обновления по расписанию для «Фактора» |
---|
|
Расписание: Без форматирования |
---|
00 20 * * 5 cd /opt/updater && ./download-dictionaries-factor.sh |
Скрипты: Блок кода |
---|
language | bash |
---|
title | /opt/updater/download-dictionaries-factor.sh |
---|
| # Загрузка справочников Фактора
./updater download factor_dispemail
./updater download factor_fias
./updater download factor_flatarea
./updater download factor_flatprice
./updater download factor_geocode
./updater download factor_invpassport
./updater download factor_oktmo
./updater download factor_rossvyaz
./updater download factor_tld
./updater download factor_transphone
# Обновление справочников Фактора
./updater update factor_dispemail
./updater update factor_fias
./updater update factor_flatarea
./updater update factor_flatprice
./updater update factor_geocode
./updater update factor_invpassport
./updater update factor_oktmo
./updater update factor_rossvyaz
./updater update factor_tld
./updater update factor_transphone |
|
Раскрыть |
---|
title | Настройка обновления по расписанию для «Единого клиента» |
---|
|
Расписание: Без форматирования |
---|
00 20 * * 6 cd /opt/updater && ./download-dictionaries-cdi.sh |
Скрипты: Блок кода |
---|
language | bash |
---|
title | /opt/updater/download-dictionaries-cdi.sh |
---|
| # Загрузка справочников Единого клиента
./updater download cdi_egr
# Обновление справочников Единого клиента
./updater update cdi_egr |
|
"dictionaries":[
"suggestions_bank",
"suggestions_email",
"suggestions_fio",
"suggestions_ip",
"suggestions_eas",
"suggestions_address_foreign",
"suggestions_party",
]
}
]
|
Информация |
---|
Обратите внимание, для основного справочника адресов suggestions_eas необходимость обновления вспомогательных (geo, house, iso3166 ) и зависимых справочников (stead, flat ) настраивается в файле конфигурации справочников dictionaries.json — поля secondary_tags и dependent_tags соответственно |
Для «Фактора» и «Единого клиента» аналогично, изменив названия справочников и расписание
Блок кода |
---|
language | json |
---|
title | Запрос на добавление в расписание на обновление всех справочников «Фактора» |
---|
|
[
{
"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"
]
}
] |
Блок кода |
---|
language | json |
---|
title | Запрос на добавление в расписание на обновление всех справочников «Единого клиента» |
---|
|
[
{
"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 указываем любой один (т.к. Перекодер пока не умеет обновлять только указанные справочники, и все справочники загружаются одной и той же задачей):
Блок кода |
---|
language | json |
---|
title | Запрос на добавление в расписание на обновление всех справочников «Перекодера» |
---|
|
[
{
"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
curl -X GET -u username:password http: //updaterHost :port /schedule
|
Удаление задачи из расписания
А чтобы удалить задачу из расписания необходимо отправить DELETE запрос в API сервиса schedule с указанием ID задачи
curl -X DELETE -u username:password http: //updaterHost :port /schedule/{ID задачи}
|
...