Полезный сторонний сервис, чтобы правильно писать кроны — crontab.guru
Для указания воскресенья использовать 0 или Sun, 7-ка не поддерживается.
Для регулярной загрузки и обновления справочников необходимо добавить задачи в расписание.
Параметры задачи
Название | Описание |
---|---|
| Идентификатор задачи (назначается системой, при добавлении новой задачи указывать не нужно) |
| Выполняемая операция:
|
| Имя конфигурации продукта, прописанного в .yaml |
| Расписание (в виде крон выражения) |
| Нужно ли создавать директории под справочники, при их отсутствии? (по умолчанию false) |
| Перечень справочников |
Добавление задач в расписание
Для этого нужно добавить задачи с помощью 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" ] } ]
Обратите внимание, для основного справочника адресов suggestions_eas
необходимость обновления вспомогательных (geo, house, iso3166
) и зависимых справочников (stead, flat
) настраивается в файле конфигурации справочников dictionaries.json
— поля secondary_tags
и dependent_tags
соответственно
Для «Фактора» и «Единого клиента» аналогично, изменив названия справочников и расписание
[ { "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 задачи
|