Информация |
---|
Полезный сторонний сервис, чтобы правильно писать кроны — crontab.guru Для указания воскресенья использовать 0 или Sun, 7-ка не поддерживается. |
Для регулярной загрузки и обновления справочников необходимо добавить задачи в расписание.
Добавление задач в расписание
Для этого нужно добавить задачи с помощью API сервиса schedule
curl -X PUT POST -u username:password -d '<Запрос>' http: //updaterHost :port /schedule
|
Блок кода |
---|
language | json |
---|
title | Запрос на добавление в расписание на обновление всех справочников «Подсказок» |
---|
|
[
{ {
"task": "upload",
"node": "suggestions_prod",
"schedule": "00 20 * * 4",
"dictionary": "suggestions_bank"},
{"task": "upload", "nodedictionaries": "suggestions_prod", "schedule": "00 20 * * 4", "dictionary":[
"suggestions_emailbank"},
{"task": "upload", "node": "suggestions_prodemail",
"schedule": "00 20 * * 4", "dictionary": "suggestions_fio"},
{"task": "upload", "node": "suggestions_prodip",
"schedule": "00 20 * * 4", "dictionary": "suggestions_ipeas"},
{"task": "upload", "node": "suggestions_address_prodforeign",
"schedule": "00 20 * * 4", "dictionary": "suggestions_easparty"},
{"task": "upload", "node": "suggestions_prod", "schedule": "00 20]
* * 4", "dictionary": "suggestions_geo"},
{"task": "upload", "node": "suggestions_prod", }
]
|
Информация |
---|
Обратите внимание, для основного справочника адресов suggestions_eas необходимость обновления вспомогательных (geo, house, iso3166 ) и зависимых справочников (stead, flat ) настраивается в файле конфигурации справочников dictionaries.json — поля secondary_tags и dependent_tags соответственно |
Для «Фактора» и «Единого клиента» аналогично, изменив названия справочников и расписание
Блок кода |
---|
language | json |
---|
title | Запрос на добавление в расписание на обновление всех справочников «Фактора» |
---|
|
[
{
"task":"upload",
"node":"factor_prod",
"schedule": "00 20 * * 45", "dictionary": "suggestions_house"},
{"task": "upload", "node": "suggestions_prod", "schedule": "00 20 * * 4", "dictionary": "suggestions_iso3166"},
{"task": "upload", "node": "suggestions_prod", "schedule": "00 20 * * 4", "dictionary": "suggestions_address_foreign"},
{"task": "upload", "node": "suggestions_prod", "schedule": "00 20 * * 4", "dictionary": "suggestions_flat"},
{"task": "upload", "node": "suggestions_prod", "schedule": "00 20 * * 4", "dictionary": "suggestions_stead"},
{"task": "upload", "node": "suggestions_prod", "schedule": "00 20 * * 4", "dictionary": "suggestions_party"},
{"task": "upload", "node": "suggestions_prod", "schedule": "00 20 * * 4", "dictionary": "suggestions_partyext"},
] |
...
"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": "factorcdi_prod",
"schedule": "00 20 * * 56",
"dictionarydictionaries":[
"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": "factor_dispemail"},
{"task": "upload", "node": "factor_prod", "schedule": "00 20 * * 5", "dictionary": "factor_fias"},
{"task": "upload", "node": "factor_prod", "schedule": "00 20 * * 5", "dictionary": "factor_flatarea"},
{"task": "upload", "node": "factor_prod", "schedule": "00 20 * * 56",
"dictionarydictionaries":[
"factor_flatprice"},
{"task": "upload", "node": "factor_prod", "schedule": "00 20 * * 5", "dictionary": "factor_geocode"},
{"task": "upload", "node": "factor_prod", "schedule": "00 20 * * 5", "dictionary": "factor_invpassport"},
{"task": "upload", "node": "factor_prod", "schedule": "00 20 * * 5", "dictionary": "factor_oktmo"},
{"task": "upload", "node": "factor_prod", "schedule": "00 20 * * 5", "dictionary": "factor_rossvyaz"},
{"task": "upload", "node": "factor_prod", "schedule": "00 20 * * 5", "dictionary": "factor_tld"},
{"task": "upload", "node": "factor_prod", "schedule": "00 20 * * 5", "dictionary": "factor_transphone"},
] |
Блок кода |
---|
language | json |
---|
title | Запрос на добавление в расписание на обновление всех справочников «Единого клиента» |
---|
|
[
{"task": "upload", "node": "cdi_prod", "schedule": "00 "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",
"dictionarydictionaries": "cdi_egrnorm"},
{"task": "upload", "node": "cdi_prod", "schedule": "00 08 * * *", "dictionary": "cdi_egrnorminc"},
] |
...
Просмотр текущих задач в расписании
Для вывода списка текущих задач необходимо отправить 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 задачи}
|