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

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

env/bin/fab download suggestions_partyinc
env/bin/fab update suggestions_partyinc

В журнале «Подсказок» 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 suggestions_partyinc каждый день, чтобы не было пропусков.
  2. Запускайте update suggestions_partyinc каждый день, чтобы обновлять справочник.
  3. Раз в неделю скачивайте и обновляйте полный справочник (suggestions_party) вместо инкремента.