Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 2 Текущий »

Апдейтер поддерживает инкрементальное обновление справочника компаний (suggestions_party и cdi_egrnorm). Инкременты — это ежесуточные обновления, которые содержат только то, что поменялось за прошедшие сутки. Благодаря этому они, как правило, небольшие, и загружаются в течение нескольких минут. В редких случаях, если налоговая внесла много изменений за сутки, инкремент может быть сопоставим по размеру и времени загрузки с полным справочником.

Справочники с инкрементом называются suggestions_partyinc и cdi_egrnorminc. Скачиваются и загружаются аналогично полному справочнику:

curl -X POST -u username:password -d '{"dictionary":"suggestions_partyinc", "node":"suggestions-prod"}' http://updaterHost:port/updater/upload

curl -X POST -u username:password -d '{"dictionary":"cdi_egrnorminc", "node":"cdi-prod"}' http://updaterHost:port/updater/upload

В журнале «Подсказок» suggestions.log загрузка инкремента выглядит так:

10.04.2021/06:12:19 127.0.0.1#anonymous - - (ResourceManagementMediator-159) [INFO] (IndexManager)
Process egr from '/opt/suggestions/dictionaries/party/egr-sgt-20210410-bson-inc.dic' (10.04.2021 00:00:00)
10.04.2021/06:12:27 127.0.0.1#anonymous - - (ResourceManagementMediator-159) [INFO] (AsyncIndexModifier)
-- Index egr entities in 2 threads
10.04.2021/06:12:38 127.0.0.1#anonymous - - (ResourceManagementMediator-159) [INFO] (AsyncIndexModifier)
-- Indexing egr entities took: 11.73 s, modified: 78908, removed: 373. Average speed: 7207.364 records/sec
10.04.2021/06:12:39 127.0.0.1#anonymous - - (ResourceManagementMediator-159) [INFO] (IndexManager)
Processing egr completed at 20.10 s

Инкременты поддерживаются только для компаний. Для адресов и прочих справочников инкрементов нет.

Как загружаются инкременты

Задача upload скачивает самый свежий инкремент (для CDI сначала узнает текущую в приложении, после чего скачивает все недостающие). После чего пытается загрузить все инкременты, которые скачаны на данный момент. Например, в такой ситуации:

ls -1 /opt/suggestions/dictionaries/party/
egr-sgt-20210404-bson-inc.dic
egr-sgt-20210405-bson-inc.dic
egr-sgt-20210406-bson-inc.dic
egr-sgt-20210407-bson-inc.dic
egr-sgt-20210408-bson-inc.dic

upload последовательно загрузит инкременты за 4–8 апреля. Если какие-то из них уже были загружены, upload их проигнорирует.

Если какого-то инкремента не хватает, более новые инкременты не смогут загрузиться. Например, в такой ситуации:

ls -1 /opt/suggestions/dictionaries/party/
egr-sgt-20210404-bson-inc.dic
egr-sgt-20210405-bson-inc.dic
# пропущен инкремент за 06.04
egr-sgt-20210407-bson-inc.dic
egr-sgt-20210408-bson-inc.dic

upload загрузит только инкременты за 4–5 апреля, после чего остановится. В журнале suggestions.log при этом будут записи вида:

09.04.2021/06:12:19 127.0.0.1#anonymous - - (ResourceManagementMediator-159) [INFO] (IncrementResourceDescriptor)
INCREMENT egr '/data/dictionaries/party/egr-sgt-20210407-bson-inc.dic' (07.04.2021 00:00:00)
ignored because of invalid export hash: new = 53725f673bf6e23e30e0b3e30d59bf82, current = 4575048c53809f57c6ef39fe7bf664eb

09.04.2021/06:12:19 127.0.0.1#anonymous - - (ResourceManagementMediator-159) [INFO] (IncrementResourceDescriptor)
INCREMENT egr '/data/dictionaries/party/egr-sgt-20210408-bson-inc.dic' (08.04.2021 00:00:00)
ignored because of invalid export hash: new = ccbc8ad003527ecdb4129516890e381a, current = 4575048c53809f57c6ef39fe7bf664eb

Рекомендации по загрузке инкрементов

  1. Запускайте upload инкрементальных справочников каждый день, чтобы не было пропусков.
  2. Раз в неделю скачивайте и обновляйте полные справочники (suggestions_party и cdi_egrnorm) вместо инкремента.
  • Нет меток