Полезный сторонний сервис, чтобы правильно писать кроны — 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 задачи
|