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

Ключ

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

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

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

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

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

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

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

Блок кода
languagejson
titleЗапрос на добавление в расписание на обновление всех справочников «Подсказок»
[
   {
      "task":"upload",
      "node":"suggestions_prod",
      "schedule":"

Чтобы регулярно скачивать и обновлять справочники, добавьте задачи на обновление в расписание.

Апдейтер установлен на сервере приложений

Пример для запуска обновления справочников «Подсказок», если утилита установлена на сервере приложений, а полный путь к утилите /opt/updater
Расписание:

Без форматирования
00 20 * * 4",
  cd  /opt/updater && ./download-dictionaries-suggestions.sh

Скрипты:

Блок кода
languagebash
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

Скрипты:

Блок кода
languagebash
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 

Скрипты:

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


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

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

Блок кода
languagejson
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 задачи}

...