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

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

./updater download suggestions_partyinc
./updater update suggestions_partyinc

./updater download cdi_egrnorminc
./updater update cdi_egrnorminc

В журнале «Подсказок» 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

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

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

Задача download всегда скачивает самый свежий инкремент. Поэтому, чтобы не ничего пропустить, запускайте ее каждый день.

Задача update пытается загрузить все инкременты, которые скачаны на данный момент. Например, в такой ситуации:

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

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

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

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

update загрузит только инкременты за 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. Запускайте download инкрементальных справочников каждый день, чтобы не было пропусков.
  2. Запускайте update инкрементальных справочников каждый день, чтобы обновлять справочник.
  3. Раз в неделю скачивайте и обновляйте полные справочники (suggestions_party и cdi_egrnorm) вместо инкремента.
  • Нет меток