Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Информация

Полезный сторонний сервис, чтобы правильно писать кроны — crontab.guru 

Для указания воскресенья использовать 0 или Sun, 7-ка не поддерживается.

Для регулярной загрузки и обновления справочников необходимо добавить задачи в расписание.

Добавление задач в расписание 

Для этого нужно добавить задачи с помощью API сервиса schedule

curl -X PUT POST -u username:password -d '<Запрос>' http://updaterHost:port/schedule

Блок кода
languagejson
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 соответственно


Для «Фактора» и «Единого клиента» аналогично, изменив названия справочников и расписание

Блок кода
languagejson
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"
      ]
   }
]
Блок кода
languagejson
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 указываем любой один (т.к. Перекодер пока не умеет обновлять только указанные справочники, и все справочники загружаются одной и той же задачей):

Блок кода
languagejson
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"},
]
Блок кода
languagejson
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"},
]

...

[
         "rdm-bic"
      ]
   }
]

Просмотр текущих задач в расписании

Для вывода списка текущих задач необходимо отправить GET запрос в API сервиса schedule

curl -X GET -u username:password http://updaterHost:port/schedule

Удаление задачи из расписания

А чтобы удалить задачу из расписания необходимо отправить DELETE запрос в API сервиса schedule с указанием ID задачи 

...