edu-rdm-integration


Nameedu-rdm-integration JSON
Version 3.3.0 PyPI version JSON
download
home_pageNone
SummaryИнтеграция с Региональной витриной данных
upload_time2024-06-06 08:33:42
maintainerNone
docs_urlNone
authorBARS Group
requires_pythonNone
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Проект "Интеграция с Региональной витриной данных (РВД)"

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

На текущий момент интеграция реализуется в рамках проектов Электронная школа (ЭШ) и Электронный колледж (ЭК).

## Описание концепции

Со стороны Минцифры предоставляется спецификация (ЕФТТ) с требованиями по формату и механизму выгрузки данных. 

Выбрана модель промежуточного хранения данных на стороне продукта, которые подлежат выгрузке. При помощи такого подхода,
можно обеспечить формирование не хранящихся в продукте данных и дальнейшее их обновление и удаление. Упрощается процесс 
поиска ошибок в данных, т.к. можно явно определить, в каких записях находятся ошибки и далее анализировать существующие 
данные в продуктах или функционал по формированию данных.

## Принцип работы

Весь процесс разделен на сбор и выгрузку данных. Выделяются следующие понятия:

Модель продукта
: Django-модель находящаяся в самом продукте. При помощи нее производится накапливание пользовательских данных;

Модель РВД
: Django-модель находящаяся в пакете РВД продукта. Из моделей РВД формируется схема БД, позволяющая хранить данные для 
дальнейшей выгрузки в нормализованном виде;

Сущность РВД
: Описание формата выгрузки данных в РВД в виде dataclass-а. Хранит в себе описание первичных, внешних ключей, 
обязательность и порядок полей.

На этапе сбора данных производится формирование данных моделей РВД на основе данных моделей продуктов. Существуют так 
называемые расчетные модели, для которых данные рассчитываются в процессе сбора.

Стоит обратить внимание, что сущности РВД могут содержать в себе данные из нескольких моделей РВД.

## Требования к окружению

Для работы требуется Python >=3.7. Так же в зависимостях есть внутренние пакеты:

- educommon;
- function-tools;
- m3-db-utils;
- uploader-client.

Версии всех пакетов уточнены в файлах с зависимостями.

## Разворачивание

Перед внедрением пакета в проект, необходимо убедиться, что:

- В проекте используется логирование из educommon;
- В проект внедрен function-tools;
- В проект внедрен m3-db-utils;
- В проект внедрен uploader-client. 

## Параметры конфигурационного файла

В разных проектах существуют различные способы добавления настроек, где-то через плагины, где-то напрямую в settings.py.
Будет рассмотрен подход указания настроек в settings.py и указания параметров в конфигурационном файле.

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

- Определение значений по умолчанию настроек в settings.py:
    ```
    PROJECT_DEFAULT_CONFIG.update({
        # Настройки РВД
        ('rdm_general', 'EXPORT_ENTITY_ID_PREFIX'): '', # Дефолтное значение нужно изменить на специфическое системе
        ('rdm_general', 'COLLECT_CHUNK_SIZE'): 500,
        ('rdm_general', 'EXPORT_CHUNK_SIZE'): 500,
        ('rdm_transfer_task', 'MINUTE'): '0',
        ('rdm_transfer_task', 'HOUR'): '*/4',
        ('rdm_transfer_task', 'DAY_OF_WEEK'): '*',
        ('rdm_transfer_task', 'LOCK_EXPIRE_SECONDS'): 21600,
        ('rdm_transfer_task', 'TIMEDELTA'): 3600,
        ('rdm_transfer_task', 'ENTITIES'): '',
        ('rdm_upload_status_task', 'MINUTE'): '*/30',
        ('rdm_upload_status_task', 'HOUR'): '*',
        ('rdm_upload_status_task', 'DAY_OF_WEEK'): '*',
        ('rdm_upload_status_task', 'LOCK_EXPIRE_SECONDS'): 7200,
        ('uploader_client', 'URL'): 'http://localhost:8090',
        ('uploader_client', 'DATAMART_NAME'): '',
        ('uploader_client', 'REQUEST_RETRIES'): 10,
        ('uploader_client', 'REQUEST_TIMEOUT'): 10,
        ('uploader_client', 'ENABLE_REQUEST_EMULATION'): False,
    })
    ```
- Получение значений настроек из конфигурационного файла в settings.py:

    ```
    # Ссылка на каталог с файлами для загрузки
    UPLOADS = 'uploads'
  
    # =============================================================================
    # Интеграция с Региональной витриной данных (РВД)
    # =============================================================================
    
    # Префикс идентификаторов записей сущностей специфический для продукта
    RDM_EXPORT_ENTITY_ID_PREFIX = conf.get('rdm_general', 'EXPORT_ENTITY_ID_PREFIX') 
  
    # Количество записей моделей ЭШ обрабатываемых за одну итерацию сбора данных
    RDM_COLLECT_CHUNK_SIZE = conf.get_int('rdm_general', 'COLLECT_CHUNK_SIZE')
    
    # Количество записей моделей обрабатываемых за одну итерацию экспорта данных
    RDM_EXPORT_CHUNK_SIZE = conf.get_int('rdm_general', 'EXPORT_CHUNK_SIZE')
  
    # Количество не экспортированных записей моделей обрабатываемых за одну итерацию обновления поля modified
    RDM_UPDATE_NON_EXPORTED_CHUNK_SIZE = conf.get_int('rdm_general', 'UPDATE_NON_EXPORTED_CHUNK_SIZE')
    
    # Настройка запуска периодической задачи выгрузки данных:
    RDM_TRANSFER_TASK_MINUTE = conf.get('rdm_transfer_task', 'MINUTE')
    RDM_TRANSFER_TASK_HOUR = conf.get('rdm_transfer_task', 'HOUR')
    RDM_TRANSFER_TASK_DAY_OF_WEEK = conf.get('rdm_transfer_task', 'DAY_OF_WEEK')
    RDM_TRANSFER_TASK_EXPIRE_SECOND = conf.get('rdm_transfer_task', 'LOCK_EXPIRE_SECONDS')

    # Настройка запуска периодической задачи статуса загрузки данных в витрину:
    RDM_UPLOAD_STATUS_TASK_MINUTE = conf.get('rdm_upload_status_task', 'MINUTE')
    RDM_UPLOAD_STATUS_TASK_HOUR = conf.get('rdm_upload_status_task', 'HOUR')
    RDM_UPLOAD_STATUS_TASK_DAY_OF_WEEK = conf.get('rdm_upload_status_task', 'DAY_OF_WEEK')
    RDM_UPLOAD_STATUS_TASK_EXPIRE_SECOND = conf.get('rdm_upload_status_task', 'LOCK_EXPIRE_SECONDS')
  
    # Настройка запуска периодической задачи поиска зависших этапов экспорта:
    RDM_CHECK_SUSPEND_TASK_MINUTE = conf.get('rdm_check_suspend_task', 'MINUTE')
    RDM_CHECK_SUSPEND_TASK_HOUR = conf.get('rdm_check_suspend_task', 'HOUR')
    RDM_CHECK_SUSPEND_TASK_DAY_OF_WEEK = conf.get('rdm_check_suspend_task', 'DAY_OF_WEEK')
    RDM_CHECK_SUSPEND_TASK_EXPIRE_SECOND = conf.get('rdm_check_suspend_task', 'LOCK_EXPIRE_SECONDS')
    RDM_CHECK_SUSPEND_TASK_TIMEDELTA = conf.get_int('rdm_check_suspend_task', 'TIMEDELTA')
    
    # Загрузка данных в Региональную витрину данных (РВД)
    # Адрес витрины (schema://host:port)
    RDM_UPLOADER_CLIENT_URL = conf.get('uploader_client', 'URL')
    
    # Мнемоника Витрины
    RDM_UPLOADER_CLIENT_DATAMART_NAME = conf.get('uploader_client', 'DATAMART_NAME')
    
    # Количество повторных попыток запроса
    RDM_UPLOADER_CLIENT_REQUEST_RETRIES = conf.get_int('uploader_client', 'REQUEST_RETRIES')
    
    # Таймаут запроса, сек
    RDM_UPLOADER_CLIENT_REQUEST_TIMEOUT = conf.get_int('uploader_client', 'REQUEST_TIMEOUT')
    
    # Включить эмуляцию отправки запросов
    RDM_UPLOADER_CLIENT_ENABLE_REQUEST_EMULATION = conf.get_bool('uploader_client', 'ENABLE_REQUEST_EMULATION')
    
    ```
  
    Перечень настроек в settings.py указан в таблице ниже.
    
    | Название настройки в settings                | Описание                                                                                                                           | Значение по умолчанию   |
    |----------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------|-------------------------|
    | UPLOADS                                      | Основная директория в MEDIA, в которой будет создана директория edu_rdm_integration  для сохранения файлов для дальнейшей выгрузки | 500                     |
    | RDM_COLLECT_CHUNK_SIZE                       | Количество записей моделей обрабатываемых за одну итерацию сбора данных                                                            | 500                     |
    | RDM_EXPORT_CHUNK_SIZE                        | Количество записей моделей обрабатываемых за одну итерацию экспорта                                                                | 500                     |
    | RDM_UPDATE_NON_EXPORTED_CHUNK_SIZE           | # Количество не экспортированных записей моделей обрабатываемых за одну итерацию обновления поля modified                          | 5000                    |
    | RDM_UPLOADER_CLIENT_URL                      | Адрес витрины (schema://host:port)                                                                                                 | 'http://localhost:8090' |
    | RDM_UPLOADER_CLIENT_DATAMART_NAME            | Мнемоника Витрины                                                                                                                  | 'test'                  |
    | RDM_UPLOADER_CLIENT_REQUEST_RETRIES          | Количество повторных попыток запроса                                                                                               | 10                      |
    | RDM_UPLOADER_CLIENT_REQUEST_TIMEOUT          | Таймаут запроса, сек                                                                                                               | 10                      |
    | RDM_UPLOADER_CLIENT_ENABLE_REQUEST_EMULATION | Включить эмуляцию отправки запросов                                                                                                | True                    |
    | RDM_TRANSFER_TASK_MINUTE                     | Настройка запуска периодической задачи выгрузки данных. Минута                                                                     | '0'                     |
    | RDM_TRANSFER_TASK_HOUR                       | Настройка запуска периодической задачи выгрузки данных. Час                                                                        | '*/4'                   |
    | RDM_TRANSFER_TASK_DAY_OF_WEEK                | Настройка запуска периодической задачи выгрузки данных. День недели                                                                | '*'                     |
    | RDM_TRANSFER_TASK_LOCK_EXPIRE_SECONDS        | Время по истечении которого, блокировка может быть снята (в секунадх)                                                              | 21600                   |
    | RDM_UPLOAD_STATUS_TASK_MINUTE                | Настройка запуска периодической задачи статуса загрузки данных в витрину. Минута                                                   | '*/30'                  |
    | RDM_UPLOAD_STATUS_TASK_HOUR                  | Настройка запуска периодической задачи статуса загрузки данных в витрину. Час                                                      | '*'                     |
    | RDM_UPLOAD_STATUS_TASK_DAY_OF_WEEK           | Настройка запуска периодической задачи статуса загрузки данных в витрину. День недели                                              | '*'                     |
    | RDM_UPLOAD_STATUS_TASK_LOCK_EXPIRE_SECONDS   | Время по истечении которого, блокировка может быть снята (в секунадх)                                                              | 3600                    |
    | RDM_CHECK_SUSPEND_TASK_STAGE_TIMEOUT         | Дельта для определения зависшего подэтапа. Минута                                                                                  | 120                     |
    


- В дефолтный конфиг проекта необходимо добавить:

    ```
    # Общие настройки интеграции с РВД
    [rmd_general]
    # Префикс идентификаторов записей сущностей специфический для продукта. Указывается в settings.py и не должен 
    # изменяться. Возможность изменения через конфигурационный файл оставлена для экстренных случаев.
    # EXPORT_ENTITY_ID_PREFIX = 
    # Количество записей моделей обрабатываемых за одну итерацию экспорта данных
    EXPORT_CHUNK_SIZE = 500
    # Количество записей моделей ЭШ обрабатываемых за одну итерацию сбора данных
    COLLECT_CHUNK_SIZE = 500
    # Количество не экспортированных записей моделей обрабатываемых за одну итерацию обновления поля modified
    UPDATE_NON_EXPORTED_CHUNK_SIZE = 5_000
    
    # Настройка запуска периодической задачи выгрузки данных
    [rdm_transfer_task]
    MINUTE=*/2
    HOUR=*
    DAY_OF_WEEK=*
    LOCK_EXPIRE_SECONDS=21600
    # Дельта между прошлым и текущим запуском, сек
    TIMEDELTA=120
    # Сущности, по которым должен производиться сбор и выгрузка данных. Перечисляются через запятую без пробелов.
    ENTITIES =
    
    # Настройка запуска периодической задачи статуса загрузки данных в витрину
    [rdm_upload_status_task]
    MINUTE=*/2
    HOUR=*
    DAY_OF_WEEK=*
    LOCK_EXPIRE_SECONDS=7200
  
    # Настройка запуска периодической задачи поиска зависших этапов экспорта
    [rdm_check_suspend_task]
    MINUTE=*/10
    HOUR=*
    DAY_OF_WEEK=*
    LOCK_EXPIRE_SECONDS=7200
    # Дельта для определения зависшего подэтапа, мин
    STAGE_TIMEOUT=120
    
    [uploader_client]
    # Адрес витрины
    URL = http://localhost:8090
    # Мнемоника Витрины
    DATAMART_NAME = test
    # Количество повторных попыток запроса
    REQUEST_RETRIES = 10
    # Таймаут запроса, сек
    REQUEST_TIMEOUT = 10
    # Включить эмуляцию отправки запросов
    ENABLE_REQUEST_EMULATION = True
    ```

На основе дефолтного конфига произвести конфигурирование приложений.

## Сборка и распространение

Сборка пакета производится при помощи [Job-а в Jenkins M3.build_dist](http://jenkins.py.bars.group/view/PY/job/M3.packages/job/M3.build_dist/).

Пакет выкладывается в глобальный [PYPI](https://pypi.org/project/edu-rdm-integration/) и во внутренний [Nexus](http://nexus.py.bars.group/#browse/browse:pypi-edu-private:edu-rdm-integration) 

## Документация

С документацией можно ознакомиться по ссылке http://docs.py.bars.group/edu-rdm-integration/
# История изменений

Все изменения проекта должны быть отражены в этом файле.

Формат основан на [Keep a Changelog](http://keepachangelog.com/)
и проект следует [Семантическому версионированию](http://semver.org/).

## [x.y.z] - гггг-мм-дд

Здесь должно быть расширенное описание того, что было сделано, какие есть планы у команды по дальнейшему развитию.
Желательно будущие цели привязывать к конкретным задачам. Т.е. на каждую цель нужно поставить отдельную задачу и
отразить ее номер здесь.

### Добавлено

- [ПРОЕКТ-ZZZZ](https://jira.bars.group/browse/ПРОЕКТ-ZZZZ)
  PATCH Название задачи или изменения.

- [ПРОЕКТ-YYYY](https://jira.bars.group/browse/ПРОЕКТ-YYYY)
  MINOR Название задачи или изменения.

- [ПРОЕКТ-XXXX](https://jira.bars.group/browse/ПРОЕКТ-XXXX)
  MAJOR Название задачи или изменения.

### Изменено

### Исправлено

### Удалено


## 3.3.0 - 2024-06-06
Отправка файлов в РВД вынесена в отдельную задачу UploadDataAsyncTask, добавлен кеш файлов и очередь подэтапов отправки,
а также расчет объемов отправляемых файлов

### Изменено
- [EDUSCHL-21835](https://jira.bars.group/browse/EDUSCHL-21835)
  MINOR Реализация многопоточной выгрузки


## 3.2.3 - 2024-06-06
Внесены корректировки в запросы используемые в функциях get_collecting_managers_max_period_ended_dates и get_exporting_managers_max_period_ended_dates.

### Изменено
- [EDUSCHL-21804](https://jira.bars.group/browse/EDUSCHL-21804)
  PATCH Внесены корректировки в запросы используемые в функциях get_collecting_managers_max_period_ended_dates и get_exporting_managers_max_period_ended_dates.
  Дата и время окончания предыдущего сбора/экспорта могла быть не корректно определена.


## 3.2.2 - 2024-05-21
Изменения в переодической задаче TransferLatestEntitiesDataPeriodicTask,
Изменено определение даты последнего успешного этапа сбора у менеджеров Функций сбора и экспорта.
Изменения получения крайней даты из переданного поля по указанным моделям в BaseCollectLatestModelsData.
Удалён параметр RDM_TRANSFER_TASK_TIMEDELTA.

### Изменено
- [EDUSCHL-21804](https://jira.bars.group/browse/EDUSCHL-21804)
  PATCH Изменение определения даты последнего успешного этапа сбора у менеджеров Функций сбора и экспорта
  Изменения получения крайней даты из переданного поля по указанным моделям в BaseCollectLatestModelsData.
  Реализованы функции get_collecting_managers_max_period_ended_dates и get_exporting_managers_max_period_ended_dates 
  для получения даты времени успешного этапа сбора/экспорта.


## 3.2.1 - 2024-05-03
Понижен уровень логирования при возникновении ошибки отправки запросов в РВД с ERROR до WARNING

### Изменено
- [EDUSCHL-21903](https://jira.bars.group/browse/EDUSCHL-21903)
  PATCH Понижен уровень логирования при возникновении ошибки отправки запросов в РВД


## 3.2.0 - 2024-05-02
Периодические задачи RDMCheckUploadStatus, CheckSuspendedExportedStagePeriodicTask, 
TransferLatestEntitiesDataPeriodicTask сделаны уникальными.

### Изменено
- [EDUSCHL-21891](https://jira.bars.group/browse/EDUSCHL-21891)
  MINOR Периодические задачи RDMCheckUploadStatus, CheckSuspendedExportedStagePeriodicTask, 
  TransferLatestEntitiesDataPeriodicTask сделаны уникальными. Во время действия блокировки не будет возможности 
  поставить новую подобную задачу.


## 3.1.1 - 2024-05-03
Понижен уровень логирования при возникновении ошибки отправки запросов в РВД с ERROR до WARNING

### Изменено
- [EDUSCHL-21903](https://jira.bars.group/browse/EDUSCHL-21903)
  PATCH Понижен уровень логирования при возникновении ошибки отправки запросов в РВД


## 3.1.0 - 2024-04-23
Добавлена поддержка setuptools 69.*.
Поднята минимальная версия пакета pip 23.2.1

### Изменено
- [EDUSCHL-21761](https://jira.bars.group/browse/EDUSCHL-21761)
  MINOR Добавлена поддержка setuptools 69.*. Поднять минимальную версию pip до 23.2.1.


## 3.0.4 - 2024-04-17
Возвращено проставление подэтапа выгрузки всем записям модели.

### Изменено
- [EDUSCHL-21761](https://jira.bars.group/browse/EDUSCHL-21761)
  PATCH Возвращено проставление подэтапа выгрузки всем записям модели.


## 3.0.3 - 2024-04-11
В классах примесей CollectCommandMixin и ExportCommandMixin указана очередь для celery используемая в рамках пакета.
Указано базовое описание и тип задачи для отражения в реестре "Асинхронные задачи".

### Изменено
- [EDUSCHL-21793](https://jira.bars.group/browse/EDUSCHL-21793)
  PATCH В классах примесей CollectCommandMixin и ExportCommandMixin указана очередь для celery 
  используемая в рамках пакета.


## 3.0.2 - 2024-04-11
Изменены типы полей ОГРН и ОКФС в сущности Organisations на строковые.
Исправлен тип передаваемого параметра institute_ids при выполнении поставленной задачи.
Исправлена ошибка проставления подэтапа выгрузки у неотправленных записей.

### Изменено
- [EDUCLLG-8336](https://jira.bars.group/browse/EDUCLLG-8336)
  PATCH Изменены типы полей ОГРН и ОКФС в сущности Organisations на строковые.
- [EDUSCHL-21743](https://jira.bars.group/browse/EDUSCHL-21743)
  PATCH Исправлен тип передаваемого параметра institute_ids при выполнении поставленной задачи.
- [EDUSCHL-21761](https://jira.bars.group/browse/EDUSCHL-21761)
  PATCH Исправлена ошибка проставления подэтапа.


## 3.0.1 - 2024-04-03
Убрано окружение кавычками пустых необязательных полей.

### Изменено

- [EDUCLLG-8325](https://jira.bars.group/browse/EDUCLLG-8325)
  PATCH Убрано окружение кавычками пустых необязательных полей.


## 3.0.0 - 2024-04-02
Расширены возможности кастомизации поведения метода `BaseExportDataFunctionHelper.prepare_record`.

### Добавлено

- [EDUCLLG-8325](https://jira.bars.group/browse/EDUCLLG-8325)
  MAJOR Добавлена возможность отдельно указывать, как формировать строковое
    представление полей в зависимости от их типа и обязательности. **Требуется добавить
    параметр `required_fields` в метод `prepare_record` helper-а функции**.


## [2.2.1] - 2024-03-28
 Исправление наследования Meta в моделях EduRdmCollectDataCommandProgress и EduRdmExportDataCommandProgress

### Исправлено

- [EDUSCHL-21569](https://jira.bars.group/browse/EDUSCHL-21569)
  MINOR Перенести оставшиеся общие асинхронные задачи из ЭШ в пакет edu_rdm_integration


## [2.2.0] - 2024-03-20

Из ЭШ перенесена периодическая задача по сбору и выгрузке данных в РВД.

Также из ЭШ перенесены и переименованы модели:
 - CollectDataCommandProgress перименована в  EduRdmCollectDataCommandProgress
 - ExportDataCommandProgress перименована в EduRdmExportDataCommandProgress
 - Добавлены миксины CollectCommandMixin и ExportCommandMixin

### Добавлено

- [EDUSCHL-21569](https://jira.bars.group/browse/EDUSCHL-21569)
  MINOR Перенести оставшиеся общие асинхронные задачи из ЭШ в пакет edu_rdm_integration


## [2.1.0] - 2024-03-18

Добавлена поддержка Django 3.1.

### Добавлено

- [EDUSCHL-18052](https://jira.bars.group/browse/EDUSCHL-18052)
  MINOR Поднять версию Django до 3.1.14


## [2.0.3] - 2024-03-11

Добавлено сохранение чанка логов в `list` перед его использованием в запускаемых классах в методе `_get_runnable_objects` класса `BaseCollectingDataRunner`.

### Исправлено

- [EDUSCHL-21581](https://jira.bars.group/browse/EDUSCHL-21581)
  PATCH Добавлено сохранение чанка логов в `list` перед его использованием в запускаемых классах в методе `_get_runnable_objects` класса `BaseCollectingDataRunner`.


## [2.0.2] - 2024-03-07

Откатил изменения сделанные в версии 2.0.1. Данные доработки приводили к невозможности отправить данные.

### Исправлено

- [EDUSCHL-21503](https://jira.bars.group/browse/EDUSCHL-21503)
  PATCH Откатил изменения сделанные в версии 2.0.1


## [2.0.1] - 2024-03-01

Изменена работа метода _calculate_last_finished_entity_export класса BaseExportLatestEntitiesData

### Исправлено

- [EDUSCHL-21503](https://jira.bars.group/browse/EDUSCHL-21503)
  PATCH ЭШ. Все модели РВД. Некорректное определение начала периода экспорта командой при сборе 
  командой collect_latest_models_data 


## [2.0.0] - 2024-02-21

Параметр school_ids переименован в institute_ids.

### Изменено

- [EDUSCHL-20485](https://jira.bars.group/browse/EDUSCHL-20485)
  MAJOR Произвести переименование параметра school_ids на institute_ids


## [1.0.2] - 2024-03-06

Добавлено разбиение на чанки запроса на обновление поля modified у невыгруженных записей,
при запуске команды `export_latest_entities_data`.

### Исправлено

- [EDUSCHL-21572](https://jira.bars.group/browse/EDUSCHL-21572)
  PATCH Добавлено разбиение на чанки запроса на обновление в методе `_update_model_modified_field` 
  класса `BaseExportLatestEntitiesData`.


## [1.0.1] - 2024-02-20

Исправлено ограничение сбора логов периодом `RDM_TRANSFER_TASK_TIMEDELTA` в `BaseCollectLatestModelsData`

### Исправлено

- [EDUSCHL-21413](https://jira.bars.group/browse/EDUSCHL-21413)
  PATCH Исправлено ограничение сбора логов периодом `RDM_TRANSFER_TASK_TIMEDELTA` в `BaseCollectLatestModelsData`


## [1.0.0] - 2024-01-31

Удален дублирующийся клаcc `LogChange` из `collect_data.non_calculated.base.caches`.

### Удалено

- [EDUSCHL-21308](https://jira.bars.group/browse/EDUSCHL-21308)
  MAJOR Удален дублирующийся клаcc `LogChange` из `collect_data.non_calculated.base.caches`.


## [0.10.2] - 2024-02-05

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

В класс кеша BaseCollectingExportedDataFunctionCacheStorage расчетных и не расчетных функций добавлен метод _ignore_logs.
Добавлена утилита build_related_model_graph для построения графа связей между моделями. 
Добавлен миксин BaseIgnoreLogMixin, для исключения из обработки логов на основании описанных зависимостей.

### Добавлено

- [EDUSCHL-20550](https://jira.bars.group/browse/EDUSCHL-20550)
  MINOR В класс кеша BaseCollectingExportedDataFunctionCacheStorage добавлен метод _ignore_logs. 
  Добавлена утилита build_related_model_graph. Добавлен миксин BaseIgnoreLogMixin.

### Изменено

- [EDUSCHL-20274](https://jira.bars.group/browse/EDUSCHL-20274)
  MINOR Рефакторинг принудительного запуска функций без добавления их в очередь на исполнение.


## [0.10.1] - 2024-02-02

Изменение в формировании LogChange.
Не формируется LogChange с пустым fields.

### Изменено

- [EDUSCHL-21251](https://jira.bars.group/browse/EDUSCHL-21251)
  PATCH Изменение в формировании LogChange.


## [0.10.0] - 2024-01-19

Добавлена поддержка Django 3.0.
В класс кеша BaseCollectingExportedDataFunctionCacheStorage расчетных и не расчетных функций добавлен метод _ignore_logs.
Добавлена утилита build_related_model_graph для построения графа связей между моделями. 
Добавлен миксин BaseIgnoreLogMixin, для исключения из обработки логов на основании описанных зависимостей.

### Добавлено

- [EDUSCHL-18051](https://jira.bars.group/browse/EDUSCHL-18051)
  MINOR Поднять версию Django до 3.0.14
- [EDUSCHL-20550](https://jira.bars.group/browse/EDUSCHL-20550)
  MINOR В класс кеша BaseCollectingExportedDataFunctionCacheStorage добавлен метод _ignore_logs. 
  Добавлена утилита build_related_model_graph. Добавлен миксин BaseIgnoreLogMixin.


## [0.9.2] - 2024-01-17

Добавлена явная регистрация периодических асинхронных задач Celery.
Поднятие версии зависимостей пакета celery.

### Изменено

- [EDUSCHL-14950](https://jira.bars.group/browse/EDUSCHL-14950)
  PATCH Добавлена явная регистрация периодических асинхронных задач Celery.


## [0.9.1] - 2024-01-11

Добавлен реестр выбора сущностей для сбора и выгрузки данных.
Удалена настройка RDM_TRANSFER_TASK_ENTITIES, вместо перечисления сущностей в конфиге используется реестр и модель
  TransferredEntity.

### Добавлено

- [EDUSCHL-21112](https://jira.bars.group/browse/EDUSCHL-21112)
  MINOR Добавлен реестр выбора сущностей для сбора и выгрузки данных.

### Удалено

- [EDUSCHL-21112](https://jira.bars.group/browse/EDUSCHL-21112)
  MINOR Удалена настройка RDM_TRANSFER_TASK_ENTITIES.


## [0.9.0] - 2023-12-29

Из ЭШ перенесены периодические задачи по сбору статусов загрузки файлов в витрину, а также
по поиску зависших этапов/подэтапов экспорта.

Также из ЭШ перенесены менедж-команды: 
- check_upload_status - проверка состояния отправленных данных в витрину,
- collect_lastest_models_data - сбор на основе логов за период с последней сборки до указанной даты,
- export_latest_entities_data - экспорт данных за период с последней сборки до указанной даты.

Типы получаемых из log_change.fields полей соответствуют типам полей из логируемых моделей.  

### Добавлено

- [EDUSCHL-21013](https://jira.bars.group/browse/EDUSCHL-21013)
  MINOR Перенесена часть асинхронных РВД задач из ЭШ, а также часть менедж-команд

### Изменено

- [EDUSCHL-20793](https://jira.bars.group/browse/EDUSCHL-20793)
  MINOR Типы получаемых из log_change.fields полей должны соответствовать типам полей из логируемых моделей


## [0.8.6] - 2023-12-18

В метод _clean_data класса BaseCollectingFunctionTestCase добавлена возможность обрабатывать поля относящиеся к 
  списковому типу (ArrayField).

### Добавлено

- [EDUSCHL-19606](https://jira.bars.group/browse/EDUSCHL-19606)
  PATCH В метод _clean_data класса BaseCollectingFunctionTestCase добавлена возможность обрабатывать поля относящиеся к 
  списковому типу (ArrayField).


## [0.8.5] - 2023-12-14

Формирование логов вынесено на уровень команды, а не менеджера.
Добавлено формирование логов на этапе экспорта данных.

### Добавлено

- [EDUSCHL-20073](https://jira.bars.group/browse/EDUSCHL-20073)
  MINOR Логи при экспорте данных

### Изменено

- [EDUSCHL-20073](https://jira.bars.group/browse/EDUSCHL-20073)
  MINOR Формирование логов вынесено на уровень команды, а не менеджера.


## [0.8.4] - 2023-12-13

Создание базовых хэлперов BaseCollectingDataFunctionHelper, BaseCollectingDataRunnerHelper.
Создание нового метода get_filtered_operations в BaseCollectingDataFunctionHelper.

### Добавлено

- [EDUSCHL-21029](https://jira.bars.group/browse/EDUSCHL-21029)
  MINOR Создание базовых хэлперов.

## [0.8.3] - 2023-12-13

Исправление ошибок и несоответствий в журнале логов

### Изменено

- [EDUCLLG-8103](https://jira.bars.group/browse/EDUCLLG-8103)
  MINOR Исправление ошибок и несоответствий в журнале логов .

## [0.8.2] - 2023-12-11

Поднятие версии m3-db-utils,изменение UploaderClientLogManager
### Изменено

- [EDUCLLG-7736](https://jira.bars.group/browse/EDUCLLG-7736)
  MINOR Поднята версии m3-db-utils до 0.3.10, редактирован `UploaderClientLogManager`.

## [0.8.1] - 2023-12-08

Исправлена ошибка внутри EntityEnumRegisterMixin
### Изменено

- [EDUCLLG-8098](https://jira.bars.group/browse/EDUCLLG-8098)
  PATCH Добавлена проверка на наличие атрибута main_model_enum.

## [0.8.0] - 2023-12-08

Вынесен функционал просмотра логов РВД из ЭШ.
Удалено перечисление UploadStatusEnum.
Удалена модель UploadStatus статусов загрузки в витрину. Вместо неё добавлена модель-перечисление DataMartRequestStatus.

### Изменено

- [EDUCLLG-7736](https://jira.bars.group/browse/EDUCLLG-7736)
  MINOR Вынесен функционал просмотра логов РВД из ЭШ.

### Удалено

- [EDUSCHL-20965](https://jira.bars.group/browse/EDUSCHL-20965)
  MINOR - Удалено перечисление UploadStatusEnum. Удалена модель UploadStatus статусов загрузки в витрину.

### Добавлено

- [EDUSCHL-20965](https://jira.bars.group/browse/EDUSCHL-20965)
  MINOR - Вместо удаленной модели UploadStatus добавлена модель-перечисление DataMartRequestStatus.


## [0.7.3] - 2023-12-07

Исправлена аннотация в шаблоне managers.py-tpl для функции экспорта.

### Исправлено

- [EDUSCHL-19604](https://jira.bars.group/browse/EDUSCHL-19604)
  PATCH Исправлена аннотация в шаблоне managers.py-tpl для функции экспорта.


## [0.7.2] - 2023-12-05

В метод _clean_data класса BaseCollectingFunctionTestCase добавлена возможность обрабатывать поля относящиеся к 
  временному типу.
Добавление обработки plugins_info при генерации списка данных формирования команд.

### Добавлено

- [EDUSCHL-19507](https://jira.bars.group/browse/EDUSCHL-19507)
  PATCH В метод _clean_data класса BaseCollectingFunctionTestCase добавлена возможность обрабатывать поля относящиеся к 
  временному типу. 
- [EDUSCHL-19507](https://jira.bars.group/browse/EDUSCHL-19507)
  PATCH Добавление обработки plugins_info при генерации списка данных формирования команд.


## [0.7.1] - 2023-12-02

Доработано получение множества моделей на основе данных plugins_info при работе метода _get_loggable_models.

### Изменено

- [EDUSCHL-19576](https://jira.bars.group/browse/EDUSCHL-20954)
  PATCH Доработано получение множества моделей на основе данных plugins_info при работе метода _get_loggable_models.


## [0.7.0] - 2023-12-02

Добавлено формирование логов для последующего скачивания. 
Доработаны шаблоны реализации Функций сбора и выгрузки данных.
Написана документация для реализации функционала новой Сущности.
Добавлено получение моделей на основе данных plugins_info при работе метода _get_loggable_models.

### Добавлено

- [EDUSCHL-20072](https://jira.bars.group/browse/EDUSCHL-20072)
  MINOR - Реестр сбора и выгрузки. Логи

- [EDUSCHL-20954](https://jira.bars.group/browse/EDUSCHL-20954)
  PATCH Добавлена документация для реализации функционала новой Сущности.

### Изменено

- [EDUSCHL-20954](https://jira.bars.group/browse/EDUSCHL-20954)
  PATCH Произведена доработка шаблонов Функций сбора и выгрузки данных.

- [EDUSCHL-19576](https://jira.bars.group/browse/EDUSCHL-19576)
  PATCH - Добавлено получение моделей на основе данных plugins_info при работе метода _get_loggable_models.


## [0.6.10] - 2023-11-30

При добавлении префикса RDM_EXPORT_ENTITY_ID_PREFIX в классе BaseExportDataFunctionHelper 
учтены поля из get_ignore_prefix_key_fields.

### Изменено

- [EDUSCHL-20961](https://jira.bars.group/browse/EDUSCHL-20961)
  PATCH - При добавлении префикса RDM_EXPORT_ENTITY_ID_PREFIX в классе BaseExportDataFunctionHelper учтены поля 
        - из get_ignore_prefix_key_fields.


## [0.6.9] - 2023-11-30

Доработка обработки ответа при отправке файлов в РВД.
Добавлены менедж-команды для загрузки данных и запроса статуса загрузки в РВД с использованием uploader-client.
Добавлена инструкция по реализации тестов РВД.
В BaseCollectingFunctionTestCase добавлен метод создания подэтапов сбора данных.

### Добавлено

- [EDUSCHL-20946](https://jira.bars.group/browse/EDUSCHL-20946)
  PATCH - Доработка обработки ответа при отправке файлов в РВД.

- [EDUSCHL-20946](https://jira.bars.group/browse/EDUSCHL-20946)
  MINOR - Добавлены менедж-команды для загрузки данных и запроса статуса загрузки в РВД с использованием uploader-client.

- [EDUSCHL-20951](https://jira.bars.group/browse/EDUSCHL-20951)
  MINOR - Инструкция по реализации тестов РВД

- [EDUSCHL-20951](https://jira.bars.group/browse/EDUSCHL-20951)
  MINOR - Добавлен метод создания подэтапов сбора данных


## [0.6.8] - 2023-11-24

Скорректировано описание сущности РВД TELECOM.
Рефакторинг обновления полей modified у невыгруженных записей при работе экспорта сущностей.
Временное решение обеспечения совместимости регистрации моделей и сущностей старого и нового подхода.
Добавлена возможность отправки запросов в РВД через Proxy API uploader_client.
Изменено формирование логов для последующей обработки.

### Добавлено

- [EDUSCHL-20854](https://jira.bars.group/browse/EDUSCHL-20854)
  MINOR - Добавлена возможность отправки запросов через Proxy API.

### Изменено

- [EDUSCHL-20808](https://jira.bars.group/browse/EDUSCHL-20808)
  MINOR - При сборе модели командой collect_latest_models_data сжигается память

### Исправлено

- [EDUSCHL-20884](https://jira.bars.group/browse/EDUSCHL-20884)
  PATCH - Изменено название поля rank на rank_contact в сущности РВД TelecomEntity.

- [EDUSCHL-20711](https://jira.bars.group/browse/EDUSCHL-20711)
  PATCH - Доработан метод BaseExportLatestEntitiesData._update_model_modified_field.

- [EDUSCHL-20858](https://jira.bars.group/browse/EDUSCHL-20858)
  PATCH - Временное решение обеспечения совместимости регистрации моделей и сущностей старого и нового подхода.


## [0.6.7] - 2023-11-01

Добавлен миксин EntityEnumRegisterMixin для регистрации сущностей в RegionalDataMartEntityEnum.
Миксин ModelEnumRegisterMixin для регистрации моделей в RegionalDataMartModelEnum.
Добавлены методы для запуска регистрации моделей и сущностей.

### Добавлено

- [EDUCLLG-7632](https://jira.bars.group/browse/EDUCLLG-7632)
  PATCH - Добавлен функционал регистрации моделей и сущностей в моделях-перечислениях.


## [0.6.6] - 2023-10-16

Добавлен базовый класс для тестирования Функций сбора, добавлена явная зависимость Django.

### Добавлено

- [EDUSCHL-20684](https://jira.bars.group/browse/EDUSCHL-20684)
  PATCH - Базовый класс для тестирования Функций сбора;
- [EDUSCHL-20684](https://jira.bars.group/browse/EDUSCHL-20684)
  PATCH - Добавлена зависимость Django.


## [0.6.5] - 2023-10-11

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

### Исправлено

- [EDUCLLG-7634](https://jira.bars.group/browse/EDUCLLG-7634)
  PATCH - Получение метода генерации логов вынесено в отдельный метод для избавления от необходимости хранить все методы в одном классе;

- [EDUSCHL-20571](https://jira.bars.group/browse/EDUSCHL-20571)
  PATCH - При сборе актуальных данных моделей отслеживаются уже запущенные сборы и новый сбор по модели не запускается.

- [EDUSCHL-20571](https://jira.bars.group/browse/EDUSCHL-20571)
  PATCH - Указание назначения полей модели-перечисления сущностей RegionalDataMartEntityEnum;

- [EDUSCHL-20571](https://jira.bars.group/browse/EDUSCHL-20571)
  PATCH - Добавление возможности получения значений модели-перечисления RegionalDataMartEntityEnum моделей РВД для указанных сущностей.


## [0.6.4] - 2023-10-09

Исправлена ошибка сборки, из-за которой файлы шаблонов *.py-tpl не попадали в пакет.

### Добавлено

- [EDUCLLG-7634](https://jira.bars.group/browse/EDUCLLG-7634)
  PATCH - Добавлено включение шаблонов *.py-tpl в пакет при сборке.


## [0.6.3] - 2023-10-05

Доработка модели AbstractCollectDataCommandProgress и класса BaseFirstCollectModelsDataCommandsGenerator.

### Добавлено

- [EDUSCHL-20350](https://jira.bars.group/browse/EDUSCHL-20350)
  PATCH - Добавлено формирование id генерации для команд в классе BaseFirstCollectModelsDataCommandsGenerator.
        - Добавлены поля created, generation_id и institute_ids в модель AbstractCollectDataCommandProgress.


## [0.6.2] - 2023-10-04

### Изменено

- [EDUCLLG-7942](https://jira.bars.group/browse/EDUCLLG-7942)
  PATCH Доработка сборки документации.


## [0.6.1] - 2023-10-02

Дополнение поведения BaseExportDataFunctionHelper.

### Изменено

- [EDUSCHL-20535](https://jira.bars.group/browse/EDUSCHL-20535)
  PATCH - В логике BaseExportDataFunctionHelper добавлена очистка строковых полей от управляющих символов.


## [0.6.0] - 2023-09-29

Добавлена функция set_failed_status_suspended_exporting_data_stages для определения и перевода зависших этапов/подэтапов экспорта в статус (FAILED).
Добавлена функция set_failed_status_suspended_collecting_data_stages для определения и перевода зависших этапов/подэтапов сбора в статус (FAILED).

### Добавлено

- [EDUSCHL-20487](https://jira.bars.group/browse/EDUSCHL-20487)
  MINOR Добавлена функция ```set_failed_status_suspended_exporting_data_stages```.

- [EDUSCHL-20487](https://jira.bars.group/browse/EDUSCHL-20487)
  MINOR Добавлена функция ```set_failed_status_suspended_collecting_data_stages```.

## [0.5.9] - 2023-09-25

Повышена версия wheel

### Изменено

- [EDUCLLG-7939](https://jira.bars.group/browse/EDUCLLG-7939)
  PATCH - Повышена версия wheel

## [0.5.8] - 2023-09-13

Исправлена ошибка добавления в описание асинхронной задачи списка выгруженных сущностей
BaseExportLatestEntitiesData._set_description_to_async_task.

### Исправлено

- [EDUSCHL-20334](https://jira.bars.group/browse/EDUSCHL-20334)
  PATCH - Баг с обновлением поля description в BaseExportLatestEntitiesData._set_description_to_async_task.

## [0.5.7] - 2023-09-12

Баг фикс и дополнение поведения BaseExportLatestEntitiesData.

### Изменено

- [EDUSCHL-20435](https://jira.bars.group/browse/EDUSCHL-20435)
  PATCH - BaseExportLatestEntitiesData теперь поддерживает выгрузку ни разу невыгруженных сущностей.

### Исправлено

- [EDUSCHL-20435](https://jira.bars.group/browse/EDUSCHL-20435)
  PATCH - Баг с условием в фильтре в BaseExportLatestEntitiesData._update_model_modified_field.


## [0.5.6] - 2023-09-06

Доработаны классы BaseExportLatestEntitiesData и BaseExportEntitiesData.

### Исправлено

- [EDUSCHL-20435](https://jira.bars.group/browse/EDUSCHL-20435)
  PATCH - Исправлено нахождение левой границы в классе ExportLatestEntitiesData;
        - Добавлена проверка на наличие запущенных или готовых к выгрузке сущностей;
        - Добавлен параметр update_modified, который обновляет поле modified у собранных моделей,
          чтобы выгрузить невыгруженные записи.


## [0.5.5] - 2023-09-04

Добавление pip в зависимости сборки пакета.

### Добавлено

- [EDUSCHL-19919](https://jira.bars.group/browse/EDUSCHL-19919)
  PATCH Добавление pip в зависимости сборки пакета.


## [0.5.4] - 2023-09-04

split_by_days_count переименовал в split_by_quantity.

### Изменено

- [EDUSCHL-20302](https://jira.bars.group/browse/EDUSCHL-20302)
  PATCH split_by_days_count переименовал в split_by_quantity.


## [0.5.3] - 2023-09-03

Изменены параметры формирования подпериодов в generate_first_collect_models_data_script.

### Изменено

- [EDUSCHL-20302](https://jira.bars.group/browse/EDUSCHL-20302)
  PATCH Изменены параметры формирования подпериодов в generate_first_collect_models_data_script.


## [0.5.2] - 2023-08-28

Замена базового класса функций.

### Изменено

- [EDUSCHL-20344](https://jira.bars.group/browse/EDUSCHL-20344)
  PATCH Замена базового класса функций на WebEduLazySavingPredefinedQueueFunction.


## [0.5.1] - 2023-08-22

Для BaseFirstCollectModelsDataCommandsGenerator добавлено условие - если не заполнен creating_trigger_models,
то словарь с данными для команды не передается.

### Исправлено

- [EDUSCHL-20227](https://jira.bars.group/browse/EDUSCHL-20227)
  PATCH Если у сущности не заполнен creating_trigger_models, то в генераторе BaseFirstCollectModelsDataCommandsGenerator
  не формируется словарь с параметрами для команды.

- [EDUSCHL-20229](https://jira.bars.group/browse/EDUSCHL-20229)
  PATCH Если у сущности не заполнен creating_trigger_models, то в генераторе BaseFirstCollectModelsDataCommandsGenerator
  не формируется словарь с параметрами для команды.


## [0.5.0] - 2023-08-19

Дополнительная функциональность WebEduEntityValueCache была перенесена в EntityCache в function_tools.

### Удалено

- [EDUSCHL-20277](https://jira.bars.group/browse/EDUSCHL-20277)
  MINOR Удален WebEduEntityValueCache.

- [EDUSCHL-20277](https://jira.bars.group/browse/EDUSCHL-20277)
  MINOR Удален WebEduEntityCacheExtended.


## [0.4.7] - 2023-08-17

Изменено формирование очередности сбора/экспорта моделей/сущностей. Вместо отдельных перечислений используется существующее поле `order_number` модели-перечисления `TitledModelEnum`. В случае, когда `order_number` не указан, т.е. будет использоваться значение по умолчанию `DEFAULT_ORDER_NUMBER`, модель/сущность будет исключена из сбора/экспорта.

### Изменено

- [EDUSCHL-19164](https://jira.bars.group/browse/EDUSCHL-19164)
  MINOR Изменено формирование очередности сбора/экспорта моделей/сущностей.

## [0.4.6] - 2023-08-16

Удален лишний вызов метода _prepare_logs

### Исправлено

- [EDUSCHL-19991](https://jira.bars.group/browse/EDUSCHL-19991)
  PATCH удален лишний вызов метода ```_prepare_logs``` в методе  ```__init__``` класса ```BaseCollectingCalculatedExportedDataFunctionCacheStorage```

## [0.4.5] - 2023-08-09

Объединение обрабатываемых логов относящихся к одному объекту

### Добавлено

- [EDUSCHL-19991](https://jira.bars.group/browse/EDUSCHL-19991)
 PATCH Новый миксин ```ReformatLogsMixin``` , новое поле is_merge_logs и новый метод _merge_logs у класса ```BaseCollectingExportedDataFunctionCacheStorage```

## [0.4.4] - 2023-08-12

Исправлен баг с timedelta

### Исправлено

- [EDUSCHL-20200](https://jira.bars.group/browse/EDUSCHL-20200)
  PATCH Исправлен баг с timedelta.

## [0.4.3] - 2023-08-12

Исправлен баг с timedelta

### Исправлено

- [EDUSCHL-20200](https://jira.bars.group/browse/EDUSCHL-20200)
  PATCH Исправлен баг с timedelta.

## [0.4.2] - 2023-08-11

Исправление ошибки учета миллисекунд, при генерации скриптов сбора и выгрузки данных. В текущий момент chunk_size все
равно работает некорректно. Это связано с тем, что при обнулении миллисекунд за одной записью выборки может скрываться
большое количество, например, которые были созданы или обновлены скриптами. Проблему необходимо решить в будущем, но
текущего решения хватает для эксплуатации.
В выборках моделей и логов не должна входить правая граница периода выборки.

### Исправлено

- [EDUSCHL-20235](https://jira.bars.group/browse/EDUSCHL-20235)
  PATCH Исправлена ошибка учета миллисекунд в выборках при генерации скриптов с командами для сбора и выгрузки данных.

- [EDUSCHL-20235](https://jira.bars.group/browse/EDUSCHL-20235)
  PATCH В выборках моделей и логов не должна входить правая граница периода выборки.

## [0.4.1] - 2023-08-09

Доработки для реализации принудительного выполнения функций экспорта данных сущностей.

### Добавлено

- [EDUSCHL-20235](https://jira.bars.group/browse/EDUSCHL-20235)
  PATCH Доработки для реализации принудительного выполнения функций экспорта данных сущностей.

## [0.4.0] - 2023-08-09

Реализованы общие классы для команд сбора/экспорта.

### Добавлено

- [EDUSCHL-20200](https://jira.bars.group/browse/EDUSCHL-20200)
  MINOR Добавлены общие модели, методы и классы.

### Изменено

- [EDUSCHL-20200](https://jira.bars.group/browse/EDUSCHL-20200)
  MINOR Реализованы общие классы для команд сбора/экспорта.

## [0.3.3] - 2023-08-08

Добавлено принудительное выполнение функций в ранере для экономии памяти.

### Исправлено

- [EDUSCHL-20235](https://jira.bars.group/browse/EDUSCHL-20235)
  PATCH Добавлено принудительное выполнение функций в ранере для экономии памяти.

## [0.3.2] - 2023-08-08

Откат к спискам необработанных логов. Исправлена ошибка бесконечного создания чанков логов.

### Исправлено

- [EDUSCHL-20235](https://jira.bars.group/browse/EDUSCHL-20235)
  PATCH Откат к спискам необработанных логов.

## [0.3.1] - 2023-08-08

Организована передача необработанных логов в виде генератора.

### Изменено

- [EDUSCHL-20235](https://jira.bars.group/browse/EDUSCHL-20235)
  PATCH Организована передача необработанных логов в виде генератора.

## [0.3.0] - 2023-08-06

Добавление функциональности для отложенного заполнения кешей. Заполнение производится перед началом работы запускаемого
объекта.

### Добавлено

- [EDUSCHL-20235](https://jira.bars.group/browse/EDUSCHL-20235)
  PATCH Добавлено отложенное заполнение кешей хелперов функций.

- [EDUSCHL-20235](https://jira.bars.group/browse/EDUSCHL-20235)
  MINOR Добавлено проставление подэтапа выгрузки данных у записей моделей.

## [0.2.2] - 2023-08-06

Для API РВД добавлена поддержка параметра типа операции для загрузки данных.

### Добавлено

- [EDUSCHL-19920](https://jira.bars.group/browse/EDUSCHL-19920)
  PATCH Для API РВД добавлена поддержка параметра типа операции для загрузки данных.

## [0.2.1] - 2023-08-05

Восстановление сборки пакета после ухода с poetry.

### Исправлено

- [EDUSCHL-19919](https://jira.bars.group/browse/EDUSCHL-19919)
  PATCH Восстановление сборки пакета после миграции с poetry.

## [0.2.0] - 2023-08-04

Перенос стратегий формирования Функций используемых в генерации исходников.

### Добавлено

- [EDUSCHL-19919](https://jira.bars.group/browse/EDUSCHL-19919)
  MINOR Перенесены стратегии создания Функций из ЭШ.

## [0.1.4] - 2023-08-03

Возвращение ранее удаленных зависимостей миграции

### Изменено

- [EDUSCHL-20209](https://jira.bars.group/browse/EDUSCHL-20209)
  PATCH Возвращение зависимостей миграции.

- [EDUSCHL-20209](https://jira.bars.group/browse/EDUSCHL-20209)
  PATCH Доработки по формированию документации.

- [EDUSCHL-20200](https://jira.bars.group/browse/EDUSCHL-20200)
  Закреплены версии зависимостей, добавлена ссылка на uploader-client

## [0.1.3] - 2023-07-24

Для раскатки миграций на ЭШ, пришлось закомментировать зависимости в initial-миграции.

### Изменено

- [EDUSCHL-19919](https://jira.bars.group/browse/EDUSCHL-19919)
  PATCH Вынести общую часть для работы с РВД из ЭШ для использования в ЭК.

## [0.1.2] - 2023-07-23

Внесены изменения в кодовую базу после переноса механизма логирования из ЭШ в educommon.

### Изменено

- [EDUSCHL-19919](https://jira.bars.group/browse/EDUSCHL-19919)
  PATCH Вынести общую часть для работы с РВД из ЭШ для использования в ЭК.

## [0.1.0] - 2023-07-18

Внесены изменения в кодовую базу после переноса механизма логирования из ЭШ в educommon.

### Добавлено

- [EDUSCHL-19919](https://jira.bars.group/browse/EDUSCHL-19919)
  MINOR Перенос базовых компонентов интеграции с РВД из ЭШ.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "edu-rdm-integration",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": "BARS Group",
    "author_email": "bars@bars.group",
    "download_url": "https://files.pythonhosted.org/packages/0f/e3/4a29df8ea8aa3b7f3b9370c7fa46b61cdfc41ec4bf371cfb08adf2769151/edu-rdm-integration-3.3.0.tar.gz",
    "platform": "Any",
    "description": "# \u041f\u0440\u043e\u0435\u043a\u0442 \"\u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 \u0420\u0435\u0433\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0438\u0442\u0440\u0438\u043d\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0420\u0412\u0414)\"\n\n\u0414\u043b\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u0420\u0435\u0433\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0438\u0442\u0440\u0438\u043d\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 \u0431\u044b\u043b \u0432\u044b\u0434\u0435\u043b\u0435\u043d \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0430\u043a\u0435\u0442 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0435\u0433\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \n\u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430\u0445. \n\n\u041d\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u042d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u0430\u044f \u0448\u043a\u043e\u043b\u0430 (\u042d\u0428) \u0438 \u042d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u044b\u0439 \u043a\u043e\u043b\u043b\u0435\u0434\u0436 (\u042d\u041a).\n\n## \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438\n\n\u0421\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u041c\u0438\u043d\u0446\u0438\u0444\u0440\u044b \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f (\u0415\u0424\u0422\u0422) \u0441 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438 \u043f\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0443 \u0438 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0443 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \n\n\u0412\u044b\u0431\u0440\u0430\u043d\u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0434\u043b\u0435\u0436\u0430\u0442 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0435. \u041f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430,\n\u043c\u043e\u0436\u043d\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0435 \u0445\u0440\u0430\u043d\u044f\u0449\u0438\u0445\u0441\u044f \u0432 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0435 \u0438\u0445 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435. \u0423\u043f\u0440\u043e\u0449\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \n\u043f\u043e\u0438\u0441\u043a\u0430 \u043e\u0448\u0438\u0431\u043e\u043a \u0432 \u0434\u0430\u043d\u043d\u044b\u0445, \u0442.\u043a. \u043c\u043e\u0436\u043d\u043e \u044f\u0432\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u0432 \u043a\u0430\u043a\u0438\u0445 \u0437\u0430\u043f\u0438\u0441\u044f\u0445 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u043e\u0448\u0438\u0431\u043a\u0438 \u0438 \u0434\u0430\u043b\u0435\u0435 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \n\u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430\u0445 \u0438\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u043f\u043e \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0434\u0430\u043d\u043d\u044b\u0445.\n\n## \u041f\u0440\u0438\u043d\u0446\u0438\u043f \u0440\u0430\u0431\u043e\u0442\u044b\n\n\u0412\u0435\u0441\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d \u043d\u0430 \u0441\u0431\u043e\u0440 \u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0443 \u0434\u0430\u043d\u043d\u044b\u0445. \u0412\u044b\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f:\n\n\u041c\u043e\u0434\u0435\u043b\u044c \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430\n: Django-\u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0430\u044f\u0441\u044f \u0432 \u0441\u0430\u043c\u043e\u043c \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0435. \u041f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043d\u0435\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430\u043a\u0430\u043f\u043b\u0438\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445;\n\n\u041c\u043e\u0434\u0435\u043b\u044c \u0420\u0412\u0414\n: Django-\u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0430\u044f\u0441\u044f \u0432 \u043f\u0430\u043a\u0435\u0442\u0435 \u0420\u0412\u0414 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430. \u0418\u0437 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0420\u0412\u0414 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0441\u0445\u0435\u043c\u0430 \u0411\u0414, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \n\u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0439 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0432 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435;\n\n\u0421\u0443\u0449\u043d\u043e\u0441\u0442\u044c \u0420\u0412\u0414\n: \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0420\u0412\u0414 \u0432 \u0432\u0438\u0434\u0435 dataclass-\u0430. \u0425\u0440\u0430\u043d\u0438\u0442 \u0432 \u0441\u0435\u0431\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u044b\u0445, \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u043a\u043b\u044e\u0447\u0435\u0439, \n\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043f\u043e\u043b\u0435\u0439.\n\n\u041d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0441\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0420\u0412\u0414 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0442\u0430\u043a \n\u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0435 \u0440\u0430\u0441\u0447\u0435\u0442\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0435 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0441\u0431\u043e\u0440\u0430.\n\n\u0421\u0442\u043e\u0438\u0442 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 \u0420\u0412\u0414 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0432 \u0441\u0435\u0431\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0420\u0412\u0414.\n\n## \u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044e\n\n\u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f Python >=3.7. \u0422\u0430\u043a \u0436\u0435 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044f\u0445 \u0435\u0441\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 \u043f\u0430\u043a\u0435\u0442\u044b:\n\n- educommon;\n- function-tools;\n- m3-db-utils;\n- uploader-client.\n\n\u0412\u0435\u0440\u0441\u0438\u0438 \u0432\u0441\u0435\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0443\u0442\u043e\u0447\u043d\u0435\u043d\u044b \u0432 \u0444\u0430\u0439\u043b\u0430\u0445 \u0441 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044f\u043c\u0438.\n\n## \u0420\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435\n\n\u041f\u0435\u0440\u0435\u0434 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0435\u043c \u043f\u0430\u043a\u0435\u0442\u0430 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e:\n\n- \u0412 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0437 educommon;\n- \u0412 \u043f\u0440\u043e\u0435\u043a\u0442 \u0432\u043d\u0435\u0434\u0440\u0435\u043d function-tools;\n- \u0412 \u043f\u0440\u043e\u0435\u043a\u0442 \u0432\u043d\u0435\u0434\u0440\u0435\u043d m3-db-utils;\n- \u0412 \u043f\u0440\u043e\u0435\u043a\u0442 \u0432\u043d\u0435\u0434\u0440\u0435\u043d uploader-client. \n\n## \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430\n\n\u0412 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a, \u0433\u0434\u0435-\u0442\u043e \u0447\u0435\u0440\u0435\u0437 \u043f\u043b\u0430\u0433\u0438\u043d\u044b, \u0433\u0434\u0435-\u0442\u043e \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0432 settings.py.\n\u0411\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d \u043f\u043e\u0434\u0445\u043e\u0434 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0432 settings.py \u0438 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435.\n\n\u0414\u043b\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u0442\u044c \u0440\u044f\u0434 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439:\n\n- \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0432 settings.py:\n    ```\n    PROJECT_DEFAULT_CONFIG.update({\n        # \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0420\u0412\u0414\n        ('rdm_general', 'EXPORT_ENTITY_ID_PREFIX'): '', # \u0414\u0435\u0444\u043e\u043b\u0442\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0443\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u0435\n        ('rdm_general', 'COLLECT_CHUNK_SIZE'): 500,\n        ('rdm_general', 'EXPORT_CHUNK_SIZE'): 500,\n        ('rdm_transfer_task', 'MINUTE'): '0',\n        ('rdm_transfer_task', 'HOUR'): '*/4',\n        ('rdm_transfer_task', 'DAY_OF_WEEK'): '*',\n        ('rdm_transfer_task', 'LOCK_EXPIRE_SECONDS'): 21600,\n        ('rdm_transfer_task', 'TIMEDELTA'): 3600,\n        ('rdm_transfer_task', 'ENTITIES'): '',\n        ('rdm_upload_status_task', 'MINUTE'): '*/30',\n        ('rdm_upload_status_task', 'HOUR'): '*',\n        ('rdm_upload_status_task', 'DAY_OF_WEEK'): '*',\n        ('rdm_upload_status_task', 'LOCK_EXPIRE_SECONDS'): 7200,\n        ('uploader_client', 'URL'): 'http://localhost:8090',\n        ('uploader_client', 'DATAMART_NAME'): '',\n        ('uploader_client', 'REQUEST_RETRIES'): 10,\n        ('uploader_client', 'REQUEST_TIMEOUT'): 10,\n        ('uploader_client', 'ENABLE_REQUEST_EMULATION'): False,\n    })\n    ```\n- \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0438\u0437 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0432 settings.py:\n\n    ```\n    # \u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0441 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438\n    UPLOADS = 'uploads'\n  \n    # =============================================================================\n    # \u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 \u0420\u0435\u0433\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0438\u0442\u0440\u0438\u043d\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0420\u0412\u0414)\n    # =============================================================================\n    \n    # \u041f\u0440\u0435\u0444\u0438\u043a\u0441 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u0432 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430\n    RDM_EXPORT_ENTITY_ID_PREFIX = conf.get('rdm_general', 'EXPORT_ENTITY_ID_PREFIX') \n  \n    # \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u042d\u0428 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u0437\u0430 \u043e\u0434\u043d\u0443 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044e \u0441\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445\n    RDM_COLLECT_CHUNK_SIZE = conf.get_int('rdm_general', 'COLLECT_CHUNK_SIZE')\n    \n    # \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u0437\u0430 \u043e\u0434\u043d\u0443 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044e \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u0434\u0430\u043d\u043d\u044b\u0445\n    RDM_EXPORT_CHUNK_SIZE = conf.get_int('rdm_general', 'EXPORT_CHUNK_SIZE')\n  \n    # \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u0435 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u0437\u0430 \u043e\u0434\u043d\u0443 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044f modified\n    RDM_UPDATE_NON_EXPORTED_CHUNK_SIZE = conf.get_int('rdm_general', 'UPDATE_NON_EXPORTED_CHUNK_SIZE')\n    \n    # \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445:\n    RDM_TRANSFER_TASK_MINUTE = conf.get('rdm_transfer_task', 'MINUTE')\n    RDM_TRANSFER_TASK_HOUR = conf.get('rdm_transfer_task', 'HOUR')\n    RDM_TRANSFER_TASK_DAY_OF_WEEK = conf.get('rdm_transfer_task', 'DAY_OF_WEEK')\n    RDM_TRANSFER_TASK_EXPIRE_SECOND = conf.get('rdm_transfer_task', 'LOCK_EXPIRE_SECONDS')\n\n    # \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0432\u0438\u0442\u0440\u0438\u043d\u0443:\n    RDM_UPLOAD_STATUS_TASK_MINUTE = conf.get('rdm_upload_status_task', 'MINUTE')\n    RDM_UPLOAD_STATUS_TASK_HOUR = conf.get('rdm_upload_status_task', 'HOUR')\n    RDM_UPLOAD_STATUS_TASK_DAY_OF_WEEK = conf.get('rdm_upload_status_task', 'DAY_OF_WEEK')\n    RDM_UPLOAD_STATUS_TASK_EXPIRE_SECOND = conf.get('rdm_upload_status_task', 'LOCK_EXPIRE_SECONDS')\n  \n    # \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u043f\u043e\u0438\u0441\u043a\u0430 \u0437\u0430\u0432\u0438\u0441\u0448\u0438\u0445 \u044d\u0442\u0430\u043f\u043e\u0432 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430:\n    RDM_CHECK_SUSPEND_TASK_MINUTE = conf.get('rdm_check_suspend_task', 'MINUTE')\n    RDM_CHECK_SUSPEND_TASK_HOUR = conf.get('rdm_check_suspend_task', 'HOUR')\n    RDM_CHECK_SUSPEND_TASK_DAY_OF_WEEK = conf.get('rdm_check_suspend_task', 'DAY_OF_WEEK')\n    RDM_CHECK_SUSPEND_TASK_EXPIRE_SECOND = conf.get('rdm_check_suspend_task', 'LOCK_EXPIRE_SECONDS')\n    RDM_CHECK_SUSPEND_TASK_TIMEDELTA = conf.get_int('rdm_check_suspend_task', 'TIMEDELTA')\n    \n    # \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0420\u0435\u0433\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0443\u044e \u0432\u0438\u0442\u0440\u0438\u043d\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0420\u0412\u0414)\n    # \u0410\u0434\u0440\u0435\u0441 \u0432\u0438\u0442\u0440\u0438\u043d\u044b (schema://host:port)\n    RDM_UPLOADER_CLIENT_URL = conf.get('uploader_client', 'URL')\n    \n    # \u041c\u043d\u0435\u043c\u043e\u043d\u0438\u043a\u0430 \u0412\u0438\u0442\u0440\u0438\u043d\u044b\n    RDM_UPLOADER_CLIENT_DATAMART_NAME = conf.get('uploader_client', 'DATAMART_NAME')\n    \n    # \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u044b\u0445 \u043f\u043e\u043f\u044b\u0442\u043e\u043a \u0437\u0430\u043f\u0440\u043e\u0441\u0430\n    RDM_UPLOADER_CLIENT_REQUEST_RETRIES = conf.get_int('uploader_client', 'REQUEST_RETRIES')\n    \n    # \u0422\u0430\u0439\u043c\u0430\u0443\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u0441\u0435\u043a\n    RDM_UPLOADER_CLIENT_REQUEST_TIMEOUT = conf.get_int('uploader_client', 'REQUEST_TIMEOUT')\n    \n    # \u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u044d\u043c\u0443\u043b\u044f\u0446\u0438\u044e \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432\n    RDM_UPLOADER_CLIENT_ENABLE_REQUEST_EMULATION = conf.get_bool('uploader_client', 'ENABLE_REQUEST_EMULATION')\n    \n    ```\n  \n    \u041f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0432 settings.py \u0443\u043a\u0430\u0437\u0430\u043d \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u043d\u0438\u0436\u0435.\n    \n    | \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432 settings                | \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435                                                                                                                           | \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e   |\n    |----------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------|-------------------------|\n    | UPLOADS                                      | \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f \u0432 MEDIA, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f edu_rdm_integration  \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432 \u0434\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0439 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 | 500                     |\n    | RDM_COLLECT_CHUNK_SIZE                       | \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u0437\u0430 \u043e\u0434\u043d\u0443 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044e \u0441\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445                                                            | 500                     |\n    | RDM_EXPORT_CHUNK_SIZE                        | \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u0437\u0430 \u043e\u0434\u043d\u0443 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044e \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430                                                                | 500                     |\n    | RDM_UPDATE_NON_EXPORTED_CHUNK_SIZE           | # \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u0435 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u0437\u0430 \u043e\u0434\u043d\u0443 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044f modified                          | 5000                    |\n    | RDM_UPLOADER_CLIENT_URL                      | \u0410\u0434\u0440\u0435\u0441 \u0432\u0438\u0442\u0440\u0438\u043d\u044b (schema://host:port)                                                                                                 | 'http://localhost:8090' |\n    | RDM_UPLOADER_CLIENT_DATAMART_NAME            | \u041c\u043d\u0435\u043c\u043e\u043d\u0438\u043a\u0430 \u0412\u0438\u0442\u0440\u0438\u043d\u044b                                                                                                                  | 'test'                  |\n    | RDM_UPLOADER_CLIENT_REQUEST_RETRIES          | \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u044b\u0445 \u043f\u043e\u043f\u044b\u0442\u043e\u043a \u0437\u0430\u043f\u0440\u043e\u0441\u0430                                                                                               | 10                      |\n    | RDM_UPLOADER_CLIENT_REQUEST_TIMEOUT          | \u0422\u0430\u0439\u043c\u0430\u0443\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u0441\u0435\u043a                                                                                                               | 10                      |\n    | RDM_UPLOADER_CLIENT_ENABLE_REQUEST_EMULATION | \u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u044d\u043c\u0443\u043b\u044f\u0446\u0438\u044e \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432                                                                                                | True                    |\n    | RDM_TRANSFER_TASK_MINUTE                     | \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u041c\u0438\u043d\u0443\u0442\u0430                                                                     | '0'                     |\n    | RDM_TRANSFER_TASK_HOUR                       | \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u0427\u0430\u0441                                                                        | '*/4'                   |\n    | RDM_TRANSFER_TASK_DAY_OF_WEEK                | \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u0414\u0435\u043d\u044c \u043d\u0435\u0434\u0435\u043b\u0438                                                                | '*'                     |\n    | RDM_TRANSFER_TASK_LOCK_EXPIRE_SECONDS        | \u0412\u0440\u0435\u043c\u044f \u043f\u043e \u0438\u0441\u0442\u0435\u0447\u0435\u043d\u0438\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e, \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u043d\u044f\u0442\u0430 (\u0432 \u0441\u0435\u043a\u0443\u043d\u0430\u0434\u0445)                                                              | 21600                   |\n    | RDM_UPLOAD_STATUS_TASK_MINUTE                | \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0432\u0438\u0442\u0440\u0438\u043d\u0443. \u041c\u0438\u043d\u0443\u0442\u0430                                                   | '*/30'                  |\n    | RDM_UPLOAD_STATUS_TASK_HOUR                  | \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0432\u0438\u0442\u0440\u0438\u043d\u0443. \u0427\u0430\u0441                                                      | '*'                     |\n    | RDM_UPLOAD_STATUS_TASK_DAY_OF_WEEK           | \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0432\u0438\u0442\u0440\u0438\u043d\u0443. \u0414\u0435\u043d\u044c \u043d\u0435\u0434\u0435\u043b\u0438                                              | '*'                     |\n    | RDM_UPLOAD_STATUS_TASK_LOCK_EXPIRE_SECONDS   | \u0412\u0440\u0435\u043c\u044f \u043f\u043e \u0438\u0441\u0442\u0435\u0447\u0435\u043d\u0438\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e, \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u043d\u044f\u0442\u0430 (\u0432 \u0441\u0435\u043a\u0443\u043d\u0430\u0434\u0445)                                                              | 3600                    |\n    | RDM_CHECK_SUSPEND_TASK_STAGE_TIMEOUT         | \u0414\u0435\u043b\u044c\u0442\u0430 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0437\u0430\u0432\u0438\u0441\u0448\u0435\u0433\u043e \u043f\u043e\u0434\u044d\u0442\u0430\u043f\u0430. \u041c\u0438\u043d\u0443\u0442\u0430                                                                                  | 120                     |\n    \n\n\n- \u0412 \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c:\n\n    ```\n    # \u041e\u0431\u0449\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u0420\u0412\u0414\n    [rmd_general]\n    # \u041f\u0440\u0435\u0444\u0438\u043a\u0441 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u0432 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430. \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 settings.py \u0438 \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \n    # \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0434\u043b\u044f \u044d\u043a\u0441\u0442\u0440\u0435\u043d\u043d\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u0435\u0432.\n    # EXPORT_ENTITY_ID_PREFIX = \n    # \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u0437\u0430 \u043e\u0434\u043d\u0443 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044e \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u0434\u0430\u043d\u043d\u044b\u0445\n    EXPORT_CHUNK_SIZE = 500\n    # \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u042d\u0428 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u0437\u0430 \u043e\u0434\u043d\u0443 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044e \u0441\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445\n    COLLECT_CHUNK_SIZE = 500\n    # \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u0435 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u0437\u0430 \u043e\u0434\u043d\u0443 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044f modified\n    UPDATE_NON_EXPORTED_CHUNK_SIZE = 5_000\n    \n    # \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445\n    [rdm_transfer_task]\n    MINUTE=*/2\n    HOUR=*\n    DAY_OF_WEEK=*\n    LOCK_EXPIRE_SECONDS=21600\n    # \u0414\u0435\u043b\u044c\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0448\u043b\u044b\u043c \u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c, \u0441\u0435\u043a\n    TIMEDELTA=120\n    # \u0421\u0443\u0449\u043d\u043e\u0441\u0442\u0438, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0441\u0431\u043e\u0440 \u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u044f\u044e\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043f\u044f\u0442\u0443\u044e \u0431\u0435\u0437 \u043f\u0440\u043e\u0431\u0435\u043b\u043e\u0432.\n    ENTITIES =\n    \n    # \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0432\u0438\u0442\u0440\u0438\u043d\u0443\n    [rdm_upload_status_task]\n    MINUTE=*/2\n    HOUR=*\n    DAY_OF_WEEK=*\n    LOCK_EXPIRE_SECONDS=7200\n  \n    # \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u043f\u043e\u0438\u0441\u043a\u0430 \u0437\u0430\u0432\u0438\u0441\u0448\u0438\u0445 \u044d\u0442\u0430\u043f\u043e\u0432 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430\n    [rdm_check_suspend_task]\n    MINUTE=*/10\n    HOUR=*\n    DAY_OF_WEEK=*\n    LOCK_EXPIRE_SECONDS=7200\n    # \u0414\u0435\u043b\u044c\u0442\u0430 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0437\u0430\u0432\u0438\u0441\u0448\u0435\u0433\u043e \u043f\u043e\u0434\u044d\u0442\u0430\u043f\u0430, \u043c\u0438\u043d\n    STAGE_TIMEOUT=120\n    \n    [uploader_client]\n    # \u0410\u0434\u0440\u0435\u0441 \u0432\u0438\u0442\u0440\u0438\u043d\u044b\n    URL = http://localhost:8090\n    # \u041c\u043d\u0435\u043c\u043e\u043d\u0438\u043a\u0430 \u0412\u0438\u0442\u0440\u0438\u043d\u044b\n    DATAMART_NAME = test\n    # \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u044b\u0445 \u043f\u043e\u043f\u044b\u0442\u043e\u043a \u0437\u0430\u043f\u0440\u043e\u0441\u0430\n    REQUEST_RETRIES = 10\n    # \u0422\u0430\u0439\u043c\u0430\u0443\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u0441\u0435\u043a\n    REQUEST_TIMEOUT = 10\n    # \u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u044d\u043c\u0443\u043b\u044f\u0446\u0438\u044e \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432\n    ENABLE_REQUEST_EMULATION = True\n    ```\n\n\u041d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.\n\n## \u0421\u0431\u043e\u0440\u043a\u0430 \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435\n\n\u0421\u0431\u043e\u0440\u043a\u0430 \u043f\u0430\u043a\u0435\u0442\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 [Job-\u0430 \u0432 Jenkins M3.build_dist](http://jenkins.py.bars.group/view/PY/job/M3.packages/job/M3.build_dist/).\n\n\u041f\u0430\u043a\u0435\u0442 \u0432\u044b\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0439 [PYPI](https://pypi.org/project/edu-rdm-integration/) \u0438 \u0432\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 [Nexus](http://nexus.py.bars.group/#browse/browse:pypi-edu-private:edu-rdm-integration) \n\n## \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f\n\n\u0421 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439 \u043c\u043e\u0436\u043d\u043e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435 http://docs.py.bars.group/edu-rdm-integration/\n# \u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439\n\n\u0412\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043e\u0442\u0440\u0430\u0436\u0435\u043d\u044b \u0432 \u044d\u0442\u043e\u043c \u0444\u0430\u0439\u043b\u0435.\n\n\u0424\u043e\u0440\u043c\u0430\u0442 \u043e\u0441\u043d\u043e\u0432\u0430\u043d \u043d\u0430 [Keep a Changelog](http://keepachangelog.com/)\n\u0438 \u043f\u0440\u043e\u0435\u043a\u0442 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 [\u0421\u0435\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u0432\u0435\u0440\u0441\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e](http://semver.org/).\n\n## [x.y.z] - \u0433\u0433\u0433\u0433-\u043c\u043c-\u0434\u0434\n\n\u0417\u0434\u0435\u0441\u044c \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0431\u044b\u043b\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e, \u043a\u0430\u043a\u0438\u0435 \u0435\u0441\u0442\u044c \u043f\u043b\u0430\u043d\u044b \u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u043e \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c\u0443 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044e.\n\u0416\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u0443\u0434\u0443\u0449\u0438\u0435 \u0446\u0435\u043b\u0438 \u043f\u0440\u0438\u0432\u044f\u0437\u044b\u0432\u0430\u0442\u044c \u043a \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u043c \u0437\u0430\u0434\u0430\u0447\u0430\u043c. \u0422.\u0435. \u043d\u0430 \u043a\u0430\u0436\u0434\u0443\u044e \u0446\u0435\u043b\u044c \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u0438\n\u043e\u0442\u0440\u0430\u0437\u0438\u0442\u044c \u0435\u0435 \u043d\u043e\u043c\u0435\u0440 \u0437\u0434\u0435\u0441\u044c.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [\u041f\u0420\u041e\u0415\u041a\u0422-ZZZZ](https://jira.bars.group/browse/\u041f\u0420\u041e\u0415\u041a\u0422-ZZZZ)\n  PATCH \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f.\n\n- [\u041f\u0420\u041e\u0415\u041a\u0422-YYYY](https://jira.bars.group/browse/\u041f\u0420\u041e\u0415\u041a\u0422-YYYY)\n  MINOR \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f.\n\n- [\u041f\u0420\u041e\u0415\u041a\u0422-XXXX](https://jira.bars.group/browse/\u041f\u0420\u041e\u0415\u041a\u0422-XXXX)\n  MAJOR \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n### \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e\n\n### \u0423\u0434\u0430\u043b\u0435\u043d\u043e\n\n\n## 3.3.0 - 2024-06-06\n\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u0420\u0412\u0414 \u0432\u044b\u043d\u0435\u0441\u0435\u043d\u0430 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 UploadDataAsyncTask, \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043a\u0435\u0448 \u0444\u0430\u0439\u043b\u043e\u0432 \u0438 \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u043f\u043e\u0434\u044d\u0442\u0430\u043f\u043e\u0432 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438,\n\u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0441\u0447\u0435\u0442 \u043e\u0431\u044a\u0435\u043c\u043e\u0432 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n- [EDUSCHL-21835](https://jira.bars.group/browse/EDUSCHL-21835)\n  MINOR \u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u043d\u043e\u0433\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u043e\u0439 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438\n\n\n## 3.2.3 - 2024-06-06\n\u0412\u043d\u0435\u0441\u0435\u043d\u044b \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445 get_collecting_managers_max_period_ended_dates \u0438 get_exporting_managers_max_period_ended_dates.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n- [EDUSCHL-21804](https://jira.bars.group/browse/EDUSCHL-21804)\n  PATCH \u0412\u043d\u0435\u0441\u0435\u043d\u044b \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445 get_collecting_managers_max_period_ended_dates \u0438 get_exporting_managers_max_period_ended_dates.\n  \u0414\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043c\u044f \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u0441\u0431\u043e\u0440\u0430/\u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u043c\u043e\u0433\u043b\u0430 \u0431\u044b\u0442\u044c \u043d\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430.\n\n\n## 3.2.2 - 2024-05-21\n\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u043f\u0435\u0440\u0435\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435 TransferLatestEntitiesDataPeriodicTask,\n\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u0442\u044b \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u044d\u0442\u0430\u043f\u0430 \u0441\u0431\u043e\u0440\u0430 \u0443 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u043e\u0432 \u0424\u0443\u043d\u043a\u0446\u0438\u0439 \u0441\u0431\u043e\u0440\u0430 \u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430.\n\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u0434\u0430\u0442\u044b \u0438\u0437 \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044f \u043f\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u043c\u043e\u0434\u0435\u043b\u044f\u043c \u0432 BaseCollectLatestModelsData.\n\u0423\u0434\u0430\u043b\u0451\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 RDM_TRANSFER_TASK_TIMEDELTA.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n- [EDUSCHL-21804](https://jira.bars.group/browse/EDUSCHL-21804)\n  PATCH \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u0442\u044b \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u044d\u0442\u0430\u043f\u0430 \u0441\u0431\u043e\u0440\u0430 \u0443 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u043e\u0432 \u0424\u0443\u043d\u043a\u0446\u0438\u0439 \u0441\u0431\u043e\u0440\u0430 \u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430\n  \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u0434\u0430\u0442\u044b \u0438\u0437 \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044f \u043f\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u043c\u043e\u0434\u0435\u043b\u044f\u043c \u0432 BaseCollectLatestModelsData.\n  \u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0438 get_collecting_managers_max_period_ended_dates \u0438 get_exporting_managers_max_period_ended_dates \n  \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u0442\u044b \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u044d\u0442\u0430\u043f\u0430 \u0441\u0431\u043e\u0440\u0430/\u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430.\n\n\n## 3.2.1 - 2024-05-03\n\u041f\u043e\u043d\u0438\u0436\u0435\u043d \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u0438 \u043e\u0448\u0438\u0431\u043a\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0420\u0412\u0414 \u0441 ERROR \u0434\u043e WARNING\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n- [EDUSCHL-21903](https://jira.bars.group/browse/EDUSCHL-21903)\n  PATCH \u041f\u043e\u043d\u0438\u0436\u0435\u043d \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u0438 \u043e\u0448\u0438\u0431\u043a\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0420\u0412\u0414\n\n\n## 3.2.0 - 2024-05-02\n\u041f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 RDMCheckUploadStatus, CheckSuspendedExportedStagePeriodicTask, \nTransferLatestEntitiesDataPeriodicTask \u0441\u0434\u0435\u043b\u0430\u043d\u044b \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u043c\u0438.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n- [EDUSCHL-21891](https://jira.bars.group/browse/EDUSCHL-21891)\n  MINOR \u041f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 RDMCheckUploadStatus, CheckSuspendedExportedStagePeriodicTask, \n  TransferLatestEntitiesDataPeriodicTask \u0441\u0434\u0435\u043b\u0430\u043d\u044b \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u043c\u0438. \u0412\u043e \u0432\u0440\u0435\u043c\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \n  \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u043f\u043e\u0434\u043e\u0431\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443.\n\n\n## 3.1.1 - 2024-05-03\n\u041f\u043e\u043d\u0438\u0436\u0435\u043d \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u0438 \u043e\u0448\u0438\u0431\u043a\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0420\u0412\u0414 \u0441 ERROR \u0434\u043e WARNING\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n- [EDUSCHL-21903](https://jira.bars.group/browse/EDUSCHL-21903)\n  PATCH \u041f\u043e\u043d\u0438\u0436\u0435\u043d \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u0438 \u043e\u0448\u0438\u0431\u043a\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0420\u0412\u0414\n\n\n## 3.1.0 - 2024-04-23\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 setuptools 69.*.\n\u041f\u043e\u0434\u043d\u044f\u0442\u0430 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u0430 pip 23.2.1\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n- [EDUSCHL-21761](https://jira.bars.group/browse/EDUSCHL-21761)\n  MINOR \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 setuptools 69.*. \u041f\u043e\u0434\u043d\u044f\u0442\u044c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e pip \u0434\u043e 23.2.1.\n\n\n## 3.0.4 - 2024-04-17\n\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u044d\u0442\u0430\u043f\u0430 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0432\u0441\u0435\u043c \u0437\u0430\u043f\u0438\u0441\u044f\u043c \u043c\u043e\u0434\u0435\u043b\u0438.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n- [EDUSCHL-21761](https://jira.bars.group/browse/EDUSCHL-21761)\n  PATCH \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u044d\u0442\u0430\u043f\u0430 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0432\u0441\u0435\u043c \u0437\u0430\u043f\u0438\u0441\u044f\u043c \u043c\u043e\u0434\u0435\u043b\u0438.\n\n\n## 3.0.3 - 2024-04-11\n\u0412 \u043a\u043b\u0430\u0441\u0441\u0430\u0445 \u043f\u0440\u0438\u043c\u0435\u0441\u0435\u0439 CollectCommandMixin \u0438 ExportCommandMixin \u0443\u043a\u0430\u0437\u0430\u043d\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0434\u043b\u044f celery \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0430\u044f \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u0430\u043a\u0435\u0442\u0430.\n\u0423\u043a\u0430\u0437\u0430\u043d\u043e \u0431\u0430\u0437\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0438 \u0442\u0438\u043f \u0437\u0430\u0434\u0430\u0447\u0438 \u0434\u043b\u044f \u043e\u0442\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0432 \u0440\u0435\u0435\u0441\u0442\u0440\u0435 \"\u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438\".\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n- [EDUSCHL-21793](https://jira.bars.group/browse/EDUSCHL-21793)\n  PATCH \u0412 \u043a\u043b\u0430\u0441\u0441\u0430\u0445 \u043f\u0440\u0438\u043c\u0435\u0441\u0435\u0439 CollectCommandMixin \u0438 ExportCommandMixin \u0443\u043a\u0430\u0437\u0430\u043d\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0434\u043b\u044f celery \n  \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0430\u044f \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u0430\u043a\u0435\u0442\u0430.\n\n\n## 3.0.2 - 2024-04-11\n\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u044b \u0442\u0438\u043f\u044b \u043f\u043e\u043b\u0435\u0439 \u041e\u0413\u0420\u041d \u0438 \u041e\u041a\u0424\u0421 \u0432 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 Organisations \u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0435.\n\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u0442\u0438\u043f \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 institute_ids \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438.\n\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u044d\u0442\u0430\u043f\u0430 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0443 \u043d\u0435\u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n- [EDUCLLG-8336](https://jira.bars.group/browse/EDUCLLG-8336)\n  PATCH \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u044b \u0442\u0438\u043f\u044b \u043f\u043e\u043b\u0435\u0439 \u041e\u0413\u0420\u041d \u0438 \u041e\u041a\u0424\u0421 \u0432 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 Organisations \u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0435.\n- [EDUSCHL-21743](https://jira.bars.group/browse/EDUSCHL-21743)\n  PATCH \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u0442\u0438\u043f \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 institute_ids \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438.\n- [EDUSCHL-21761](https://jira.bars.group/browse/EDUSCHL-21761)\n  PATCH \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u044d\u0442\u0430\u043f\u0430.\n\n\n## 3.0.1 - 2024-04-03\n\u0423\u0431\u0440\u0430\u043d\u043e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u043a\u0430\u0432\u044b\u0447\u043a\u0430\u043c\u0438 \u043f\u0443\u0441\u0442\u044b\u0445 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u043b\u0435\u0439.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUCLLG-8325](https://jira.bars.group/browse/EDUCLLG-8325)\n  PATCH \u0423\u0431\u0440\u0430\u043d\u043e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u043a\u0430\u0432\u044b\u0447\u043a\u0430\u043c\u0438 \u043f\u0443\u0441\u0442\u044b\u0445 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u043b\u0435\u0439.\n\n\n## 3.0.0 - 2024-04-02\n\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u044b \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043a\u0430\u0441\u0442\u043e\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u043e\u0434\u0430 `BaseExportDataFunctionHelper.prepare_record`.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUCLLG-8325](https://jira.bars.group/browse/EDUCLLG-8325)\n  MAJOR \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c, \u043a\u0430\u043a \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u043e\u0435\n    \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u0435\u0439 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0438\u0445 \u0442\u0438\u043f\u0430 \u0438 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. **\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c\n    \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 `required_fields` \u0432 \u043c\u0435\u0442\u043e\u0434 `prepare_record` helper-\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438**.\n\n\n## [2.2.1] - 2024-03-28\n \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f Meta \u0432 \u043c\u043e\u0434\u0435\u043b\u044f\u0445 EduRdmCollectDataCommandProgress \u0438 EduRdmExportDataCommandProgress\n\n### \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-21569](https://jira.bars.group/browse/EDUSCHL-21569)\n  MINOR \u041f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0435\u0441\u044f \u043e\u0431\u0449\u0438\u0435 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0438\u0437 \u042d\u0428 \u0432 \u043f\u0430\u043a\u0435\u0442 edu_rdm_integration\n\n\n## [2.2.0] - 2024-03-20\n\n\u0418\u0437 \u042d\u0428 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0435\u043d\u0430 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430 \u043f\u043e \u0441\u0431\u043e\u0440\u0443 \u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0420\u0412\u0414.\n\n\u0422\u0430\u043a\u0436\u0435 \u0438\u0437 \u042d\u0428 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0435\u043d\u044b \u0438 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u044b \u043c\u043e\u0434\u0435\u043b\u0438:\n - CollectDataCommandProgress \u043f\u0435\u0440\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0430 \u0432  EduRdmCollectDataCommandProgress\n - ExportDataCommandProgress \u043f\u0435\u0440\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0430 \u0432 EduRdmExportDataCommandProgress\n - \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u043c\u0438\u043a\u0441\u0438\u043d\u044b CollectCommandMixin \u0438 ExportCommandMixin\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-21569](https://jira.bars.group/browse/EDUSCHL-21569)\n  MINOR \u041f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0435\u0441\u044f \u043e\u0431\u0449\u0438\u0435 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0438\u0437 \u042d\u0428 \u0432 \u043f\u0430\u043a\u0435\u0442 edu_rdm_integration\n\n\n## [2.1.0] - 2024-03-18\n\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Django 3.1.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-18052](https://jira.bars.group/browse/EDUSCHL-18052)\n  MINOR \u041f\u043e\u0434\u043d\u044f\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u044e Django \u0434\u043e 3.1.14\n\n\n## [2.0.3] - 2024-03-11\n\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0447\u0430\u043d\u043a\u0430 \u043b\u043e\u0433\u043e\u0432 \u0432 `list` \u043f\u0435\u0440\u0435\u0434 \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0432 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u0430\u0445 \u0432 \u043c\u0435\u0442\u043e\u0434\u0435 `_get_runnable_objects` \u043a\u043b\u0430\u0441\u0441\u0430 `BaseCollectingDataRunner`.\n\n### \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-21581](https://jira.bars.group/browse/EDUSCHL-21581)\n  PATCH \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0447\u0430\u043d\u043a\u0430 \u043b\u043e\u0433\u043e\u0432 \u0432 `list` \u043f\u0435\u0440\u0435\u0434 \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0432 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u0430\u0445 \u0432 \u043c\u0435\u0442\u043e\u0434\u0435 `_get_runnable_objects` \u043a\u043b\u0430\u0441\u0441\u0430 `BaseCollectingDataRunner`.\n\n\n## [2.0.2] - 2024-03-07\n\n\u041e\u0442\u043a\u0430\u0442\u0438\u043b \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0435 \u0432 \u0432\u0435\u0440\u0441\u0438\u0438 2.0.1. \u0414\u0430\u043d\u043d\u044b\u0435 \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b\u0438 \u043a \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435.\n\n### \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-21503](https://jira.bars.group/browse/EDUSCHL-21503)\n  PATCH \u041e\u0442\u043a\u0430\u0442\u0438\u043b \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0435 \u0432 \u0432\u0435\u0440\u0441\u0438\u0438 2.0.1\n\n\n## [2.0.1] - 2024-03-01\n\n\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u043c\u0435\u0442\u043e\u0434\u0430 _calculate_last_finished_entity_export \u043a\u043b\u0430\u0441\u0441\u0430 BaseExportLatestEntitiesData\n\n### \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-21503](https://jira.bars.group/browse/EDUSCHL-21503)\n  PATCH \u042d\u0428. \u0412\u0441\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0420\u0412\u0414. \u041d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0435\u0440\u0438\u043e\u0434\u0430 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u0435 \n  \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 collect_latest_models_data \n\n\n## [2.0.0] - 2024-02-21\n\n\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 school_ids \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d \u0432 institute_ids.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUSCHL-20485](https://jira.bars.group/browse/EDUSCHL-20485)\n  MAJOR \u041f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 school_ids \u043d\u0430 institute_ids\n\n\n## [1.0.2] - 2024-03-06\n\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u0435 \u043d\u0430 \u0447\u0430\u043d\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043d\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044f modified \u0443 \u043d\u0435\u0432\u044b\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439,\n\u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b `export_latest_entities_data`.\n\n### \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-21572](https://jira.bars.group/browse/EDUSCHL-21572)\n  PATCH \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u0435 \u043d\u0430 \u0447\u0430\u043d\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043d\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0432 \u043c\u0435\u0442\u043e\u0434\u0435 `_update_model_modified_field` \n  \u043a\u043b\u0430\u0441\u0441\u0430 `BaseExportLatestEntitiesData`.\n\n\n## [1.0.1] - 2024-02-20\n\n\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u0431\u043e\u0440\u0430 \u043b\u043e\u0433\u043e\u0432 \u043f\u0435\u0440\u0438\u043e\u0434\u043e\u043c `RDM_TRANSFER_TASK_TIMEDELTA` \u0432 `BaseCollectLatestModelsData`\n\n### \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-21413](https://jira.bars.group/browse/EDUSCHL-21413)\n  PATCH \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u0431\u043e\u0440\u0430 \u043b\u043e\u0433\u043e\u0432 \u043f\u0435\u0440\u0438\u043e\u0434\u043e\u043c `RDM_TRANSFER_TASK_TIMEDELTA` \u0432 `BaseCollectLatestModelsData`\n\n\n## [1.0.0] - 2024-01-31\n\n\u0423\u0434\u0430\u043b\u0435\u043d \u0434\u0443\u0431\u043b\u0438\u0440\u0443\u044e\u0449\u0438\u0439\u0441\u044f \u043a\u043b\u0430cc `LogChange` \u0438\u0437 `collect_data.non_calculated.base.caches`.\n\n### \u0423\u0434\u0430\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-21308](https://jira.bars.group/browse/EDUSCHL-21308)\n  MAJOR \u0423\u0434\u0430\u043b\u0435\u043d \u0434\u0443\u0431\u043b\u0438\u0440\u0443\u044e\u0449\u0438\u0439\u0441\u044f \u043a\u043b\u0430cc `LogChange` \u0438\u0437 `collect_data.non_calculated.base.caches`.\n\n\n## [0.10.2] - 2024-02-05\n\n\u0420\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433 \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0431\u0435\u0437 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0445 \u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435.\n\n\u0412 \u043a\u043b\u0430\u0441\u0441 \u043a\u0435\u0448\u0430 BaseCollectingExportedDataFunctionCacheStorage \u0440\u0430\u0441\u0447\u0435\u0442\u043d\u044b\u0445 \u0438 \u043d\u0435 \u0440\u0430\u0441\u0447\u0435\u0442\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043c\u0435\u0442\u043e\u0434 _ignore_logs.\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0443\u0442\u0438\u043b\u0438\u0442\u0430 build_related_model_graph \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0430 \u0441\u0432\u044f\u0437\u0435\u0439 \u043c\u0435\u0436\u0434\u0443 \u043c\u043e\u0434\u0435\u043b\u044f\u043c\u0438. \n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043c\u0438\u043a\u0441\u0438\u043d BaseIgnoreLogMixin, \u0434\u043b\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438\u0437 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043b\u043e\u0433\u043e\u0432 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-20550](https://jira.bars.group/browse/EDUSCHL-20550)\n  MINOR \u0412 \u043a\u043b\u0430\u0441\u0441 \u043a\u0435\u0448\u0430 BaseCollectingExportedDataFunctionCacheStorage \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043c\u0435\u0442\u043e\u0434 _ignore_logs. \n  \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0443\u0442\u0438\u043b\u0438\u0442\u0430 build_related_model_graph. \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043c\u0438\u043a\u0441\u0438\u043d BaseIgnoreLogMixin.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUSCHL-20274](https://jira.bars.group/browse/EDUSCHL-20274)\n  MINOR \u0420\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433 \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0431\u0435\u0437 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0445 \u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435.\n\n\n## [0.10.1] - 2024-02-02\n\n\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0432 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 LogChange.\n\u041d\u0435 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f LogChange \u0441 \u043f\u0443\u0441\u0442\u044b\u043c fields.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUSCHL-21251](https://jira.bars.group/browse/EDUSCHL-21251)\n  PATCH \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0432 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 LogChange.\n\n\n## [0.10.0] - 2024-01-19\n\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Django 3.0.\n\u0412 \u043a\u043b\u0430\u0441\u0441 \u043a\u0435\u0448\u0430 BaseCollectingExportedDataFunctionCacheStorage \u0440\u0430\u0441\u0447\u0435\u0442\u043d\u044b\u0445 \u0438 \u043d\u0435 \u0440\u0430\u0441\u0447\u0435\u0442\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043c\u0435\u0442\u043e\u0434 _ignore_logs.\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0443\u0442\u0438\u043b\u0438\u0442\u0430 build_related_model_graph \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0430 \u0441\u0432\u044f\u0437\u0435\u0439 \u043c\u0435\u0436\u0434\u0443 \u043c\u043e\u0434\u0435\u043b\u044f\u043c\u0438. \n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043c\u0438\u043a\u0441\u0438\u043d BaseIgnoreLogMixin, \u0434\u043b\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438\u0437 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043b\u043e\u0433\u043e\u0432 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-18051](https://jira.bars.group/browse/EDUSCHL-18051)\n  MINOR \u041f\u043e\u0434\u043d\u044f\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u044e Django \u0434\u043e 3.0.14\n- [EDUSCHL-20550](https://jira.bars.group/browse/EDUSCHL-20550)\n  MINOR \u0412 \u043a\u043b\u0430\u0441\u0441 \u043a\u0435\u0448\u0430 BaseCollectingExportedDataFunctionCacheStorage \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043c\u0435\u0442\u043e\u0434 _ignore_logs. \n  \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0443\u0442\u0438\u043b\u0438\u0442\u0430 build_related_model_graph. \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043c\u0438\u043a\u0441\u0438\u043d BaseIgnoreLogMixin.\n\n\n## [0.9.2] - 2024-01-17\n\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u044f\u0432\u043d\u0430\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 Celery.\n\u041f\u043e\u0434\u043d\u044f\u0442\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u043f\u0430\u043a\u0435\u0442\u0430 celery.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUSCHL-14950](https://jira.bars.group/browse/EDUSCHL-14950)\n  PATCH \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u044f\u0432\u043d\u0430\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 Celery.\n\n\n## [0.9.1] - 2024-01-11\n\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u0435\u0441\u0442\u0440 \u0432\u044b\u0431\u043e\u0440\u0430 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430 \u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445.\n\u0423\u0434\u0430\u043b\u0435\u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 RDM_TRANSFER_TASK_ENTITIES, \u0432\u043c\u0435\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0440\u0435\u0435\u0441\u0442\u0440 \u0438 \u043c\u043e\u0434\u0435\u043b\u044c\n  TransferredEntity.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-21112](https://jira.bars.group/browse/EDUSCHL-21112)\n  MINOR \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u0435\u0441\u0442\u0440 \u0432\u044b\u0431\u043e\u0440\u0430 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430 \u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445.\n\n### \u0423\u0434\u0430\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-21112](https://jira.bars.group/browse/EDUSCHL-21112)\n  MINOR \u0423\u0434\u0430\u043b\u0435\u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 RDM_TRANSFER_TASK_ENTITIES.\n\n\n## [0.9.0] - 2023-12-29\n\n\u0418\u0437 \u042d\u0428 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0435\u043d\u044b \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u043f\u043e \u0441\u0431\u043e\u0440\u0443 \u0441\u0442\u0430\u0442\u0443\u0441\u043e\u0432 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u0432\u0438\u0442\u0440\u0438\u043d\u0443, \u0430 \u0442\u0430\u043a\u0436\u0435\n\u043f\u043e \u043f\u043e\u0438\u0441\u043a\u0443 \u0437\u0430\u0432\u0438\u0441\u0448\u0438\u0445 \u044d\u0442\u0430\u043f\u043e\u0432/\u043f\u043e\u0434\u044d\u0442\u0430\u043f\u043e\u0432 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430.\n\n\u0422\u0430\u043a\u0436\u0435 \u0438\u0437 \u042d\u0428 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0435\u043d\u044b \u043c\u0435\u043d\u0435\u0434\u0436-\u043a\u043e\u043c\u0430\u043d\u0434\u044b: \n- check_upload_status - \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0432\u0438\u0442\u0440\u0438\u043d\u0443,\n- collect_lastest_models_data - \u0441\u0431\u043e\u0440 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043b\u043e\u0433\u043e\u0432 \u0437\u0430 \u043f\u0435\u0440\u0438\u043e\u0434 \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0441\u0431\u043e\u0440\u043a\u0438 \u0434\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0439 \u0434\u0430\u0442\u044b,\n- export_latest_entities_data - \u044d\u043a\u0441\u043f\u043e\u0440\u0442 \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430 \u043f\u0435\u0440\u0438\u043e\u0434 \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0441\u0431\u043e\u0440\u043a\u0438 \u0434\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0439 \u0434\u0430\u0442\u044b.\n\n\u0422\u0438\u043f\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u044b\u0445 \u0438\u0437 log_change.fields \u043f\u043e\u043b\u0435\u0439 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0442\u0438\u043f\u0430\u043c \u043f\u043e\u043b\u0435\u0439 \u0438\u0437 \u043b\u043e\u0433\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439.  \n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-21013](https://jira.bars.group/browse/EDUSCHL-21013)\n  MINOR \u041f\u0435\u0440\u0435\u043d\u0435\u0441\u0435\u043d\u0430 \u0447\u0430\u0441\u0442\u044c \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0445 \u0420\u0412\u0414 \u0437\u0430\u0434\u0430\u0447 \u0438\u0437 \u042d\u0428, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0447\u0430\u0441\u0442\u044c \u043c\u0435\u043d\u0435\u0434\u0436-\u043a\u043e\u043c\u0430\u043d\u0434\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUSCHL-20793](https://jira.bars.group/browse/EDUSCHL-20793)\n  MINOR \u0422\u0438\u043f\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u044b\u0445 \u0438\u0437 log_change.fields \u043f\u043e\u043b\u0435\u0439 \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0442\u0438\u043f\u0430\u043c \u043f\u043e\u043b\u0435\u0439 \u0438\u0437 \u043b\u043e\u0433\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439\n\n\n## [0.8.6] - 2023-12-18\n\n\u0412 \u043c\u0435\u0442\u043e\u0434 _clean_data \u043a\u043b\u0430\u0441\u0441\u0430 BaseCollectingFunctionTestCase \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u044f \u043e\u0442\u043d\u043e\u0441\u044f\u0449\u0438\u0435\u0441\u044f \u043a \n  \u0441\u043f\u0438\u0441\u043a\u043e\u0432\u043e\u043c\u0443 \u0442\u0438\u043f\u0443 (ArrayField).\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-19606](https://jira.bars.group/browse/EDUSCHL-19606)\n  PATCH \u0412 \u043c\u0435\u0442\u043e\u0434 _clean_data \u043a\u043b\u0430\u0441\u0441\u0430 BaseCollectingFunctionTestCase \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u044f \u043e\u0442\u043d\u043e\u0441\u044f\u0449\u0438\u0435\u0441\u044f \u043a \n  \u0441\u043f\u0438\u0441\u043a\u043e\u0432\u043e\u043c\u0443 \u0442\u0438\u043f\u0443 (ArrayField).\n\n\n## [0.8.5] - 2023-12-14\n\n\u0424\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043b\u043e\u0433\u043e\u0432 \u0432\u044b\u043d\u0435\u0441\u0435\u043d\u043e \u043d\u0430 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u0430 \u043d\u0435 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430.\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043b\u043e\u0433\u043e\u0432 \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u0434\u0430\u043d\u043d\u044b\u0445.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-20073](https://jira.bars.group/browse/EDUSCHL-20073)\n  MINOR \u041b\u043e\u0433\u0438 \u043f\u0440\u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0445\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUSCHL-20073](https://jira.bars.group/browse/EDUSCHL-20073)\n  MINOR \u0424\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043b\u043e\u0433\u043e\u0432 \u0432\u044b\u043d\u0435\u0441\u0435\u043d\u043e \u043d\u0430 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u0430 \u043d\u0435 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430.\n\n\n## [0.8.4] - 2023-12-13\n\n\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0445\u044d\u043b\u043f\u0435\u0440\u043e\u0432 BaseCollectingDataFunctionHelper, BaseCollectingDataRunnerHelper.\n\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430 get_filtered_operations \u0432 BaseCollectingDataFunctionHelper.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-21029](https://jira.bars.group/browse/EDUSCHL-21029)\n  MINOR \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0445\u044d\u043b\u043f\u0435\u0440\u043e\u0432.\n\n## [0.8.3] - 2023-12-13\n\n\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a \u0438 \u043d\u0435\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0439 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b\u0435 \u043b\u043e\u0433\u043e\u0432\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUCLLG-8103](https://jira.bars.group/browse/EDUCLLG-8103)\n  MINOR \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a \u0438 \u043d\u0435\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0439 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b\u0435 \u043b\u043e\u0433\u043e\u0432 .\n\n## [0.8.2] - 2023-12-11\n\n\u041f\u043e\u0434\u043d\u044f\u0442\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 m3-db-utils,\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 UploaderClientLogManager\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUCLLG-7736](https://jira.bars.group/browse/EDUCLLG-7736)\n  MINOR \u041f\u043e\u0434\u043d\u044f\u0442\u0430 \u0432\u0435\u0440\u0441\u0438\u0438 m3-db-utils \u0434\u043e 0.3.10, \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d `UploaderClientLogManager`.\n\n## [0.8.1] - 2023-12-08\n\n\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 EntityEnumRegisterMixin\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUCLLG-8098](https://jira.bars.group/browse/EDUCLLG-8098)\n  PATCH \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 main_model_enum.\n\n## [0.8.0] - 2023-12-08\n\n\u0412\u044b\u043d\u0435\u0441\u0435\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u043b\u043e\u0433\u043e\u0432 \u0420\u0412\u0414 \u0438\u0437 \u042d\u0428.\n\u0423\u0434\u0430\u043b\u0435\u043d\u043e \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 UploadStatusEnum.\n\u0423\u0434\u0430\u043b\u0435\u043d\u0430 \u043c\u043e\u0434\u0435\u043b\u044c UploadStatus \u0441\u0442\u0430\u0442\u0443\u0441\u043e\u0432 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432 \u0432\u0438\u0442\u0440\u0438\u043d\u0443. \u0412\u043c\u0435\u0441\u0442\u043e \u043d\u0435\u0451 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043c\u043e\u0434\u0435\u043b\u044c-\u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 DataMartRequestStatus.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUCLLG-7736](https://jira.bars.group/browse/EDUCLLG-7736)\n  MINOR \u0412\u044b\u043d\u0435\u0441\u0435\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u043b\u043e\u0433\u043e\u0432 \u0420\u0412\u0414 \u0438\u0437 \u042d\u0428.\n\n### \u0423\u0434\u0430\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-20965](https://jira.bars.group/browse/EDUSCHL-20965)\n  MINOR - \u0423\u0434\u0430\u043b\u0435\u043d\u043e \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 UploadStatusEnum. \u0423\u0434\u0430\u043b\u0435\u043d\u0430 \u043c\u043e\u0434\u0435\u043b\u044c UploadStatus \u0441\u0442\u0430\u0442\u0443\u0441\u043e\u0432 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432 \u0432\u0438\u0442\u0440\u0438\u043d\u0443.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-20965](https://jira.bars.group/browse/EDUSCHL-20965)\n  MINOR - \u0412\u043c\u0435\u0441\u0442\u043e \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 UploadStatus \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043c\u043e\u0434\u0435\u043b\u044c-\u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 DataMartRequestStatus.\n\n\n## [0.7.3] - 2023-12-07\n\n\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430 \u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u044f \u0432 \u0448\u0430\u0431\u043b\u043e\u043d\u0435 managers.py-tpl \u0434\u043b\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430.\n\n### \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-19604](https://jira.bars.group/browse/EDUSCHL-19604)\n  PATCH \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430 \u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u044f \u0432 \u0448\u0430\u0431\u043b\u043e\u043d\u0435 managers.py-tpl \u0434\u043b\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430.\n\n\n## [0.7.2] - 2023-12-05\n\n\u0412 \u043c\u0435\u0442\u043e\u0434 _clean_data \u043a\u043b\u0430\u0441\u0441\u0430 BaseCollectingFunctionTestCase \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u044f \u043e\u0442\u043d\u043e\u0441\u044f\u0449\u0438\u0435\u0441\u044f \u043a \n  \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c\u0443 \u0442\u0438\u043f\u0443.\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 plugins_info \u043f\u0440\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u043f\u0438\u0441\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-19507](https://jira.bars.group/browse/EDUSCHL-19507)\n  PATCH \u0412 \u043c\u0435\u0442\u043e\u0434 _clean_data \u043a\u043b\u0430\u0441\u0441\u0430 BaseCollectingFunctionTestCase \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u044f \u043e\u0442\u043d\u043e\u0441\u044f\u0449\u0438\u0435\u0441\u044f \u043a \n  \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c\u0443 \u0442\u0438\u043f\u0443. \n- [EDUSCHL-19507](https://jira.bars.group/browse/EDUSCHL-19507)\n  PATCH \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 plugins_info \u043f\u0440\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u043f\u0438\u0441\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434.\n\n\n## [0.7.1] - 2023-12-02\n\n\u0414\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 plugins_info \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 _get_loggable_models.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUSCHL-19576](https://jira.bars.group/browse/EDUSCHL-20954)\n  PATCH \u0414\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 plugins_info \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 _get_loggable_models.\n\n\n## [0.7.0] - 2023-12-02\n\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043b\u043e\u0433\u043e\u0432 \u0434\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f. \n\u0414\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u044b \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0424\u0443\u043d\u043a\u0446\u0438\u0439 \u0441\u0431\u043e\u0440\u0430 \u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445.\n\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430 \u043d\u043e\u0432\u043e\u0439 \u0421\u0443\u0449\u043d\u043e\u0441\u0442\u0438.\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 plugins_info \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 _get_loggable_models.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-20072](https://jira.bars.group/browse/EDUSCHL-20072)\n  MINOR - \u0420\u0435\u0435\u0441\u0442\u0440 \u0441\u0431\u043e\u0440\u0430 \u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438. \u041b\u043e\u0433\u0438\n\n- [EDUSCHL-20954](https://jira.bars.group/browse/EDUSCHL-20954)\n  PATCH \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430 \u043d\u043e\u0432\u043e\u0439 \u0421\u0443\u0449\u043d\u043e\u0441\u0442\u0438.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUSCHL-20954](https://jira.bars.group/browse/EDUSCHL-20954)\n  PATCH \u041f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0430 \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u0424\u0443\u043d\u043a\u0446\u0438\u0439 \u0441\u0431\u043e\u0440\u0430 \u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445.\n\n- [EDUSCHL-19576](https://jira.bars.group/browse/EDUSCHL-19576)\n  PATCH - \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 plugins_info \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 _get_loggable_models.\n\n\n## [0.6.10] - 2023-11-30\n\n\u041f\u0440\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430 RDM_EXPORT_ENTITY_ID_PREFIX \u0432 \u043a\u043b\u0430\u0441\u0441\u0435 BaseExportDataFunctionHelper \n\u0443\u0447\u0442\u0435\u043d\u044b \u043f\u043e\u043b\u044f \u0438\u0437 get_ignore_prefix_key_fields.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUSCHL-20961](https://jira.bars.group/browse/EDUSCHL-20961)\n  PATCH - \u041f\u0440\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430 RDM_EXPORT_ENTITY_ID_PREFIX \u0432 \u043a\u043b\u0430\u0441\u0441\u0435 BaseExportDataFunctionHelper \u0443\u0447\u0442\u0435\u043d\u044b \u043f\u043e\u043b\u044f \n        - \u0438\u0437 get_ignore_prefix_key_fields.\n\n\n## [0.6.9] - 2023-11-30\n\n\u0414\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u0442\u0432\u0435\u0442\u0430 \u043f\u0440\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u0420\u0412\u0414.\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u043c\u0435\u043d\u0435\u0434\u0436-\u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432 \u0420\u0412\u0414 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c uploader-client.\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043f\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0442\u0435\u0441\u0442\u043e\u0432 \u0420\u0412\u0414.\n\u0412 BaseCollectingFunctionTestCase \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043c\u0435\u0442\u043e\u0434 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u043e\u0434\u044d\u0442\u0430\u043f\u043e\u0432 \u0441\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-20946](https://jira.bars.group/browse/EDUSCHL-20946)\n  PATCH - \u0414\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u0442\u0432\u0435\u0442\u0430 \u043f\u0440\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u0420\u0412\u0414.\n\n- [EDUSCHL-20946](https://jira.bars.group/browse/EDUSCHL-20946)\n  MINOR - \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u043c\u0435\u043d\u0435\u0434\u0436-\u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432 \u0420\u0412\u0414 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c uploader-client.\n\n- [EDUSCHL-20951](https://jira.bars.group/browse/EDUSCHL-20951)\n  MINOR - \u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043f\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0442\u0435\u0441\u0442\u043e\u0432 \u0420\u0412\u0414\n\n- [EDUSCHL-20951](https://jira.bars.group/browse/EDUSCHL-20951)\n  MINOR - \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043c\u0435\u0442\u043e\u0434 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u043e\u0434\u044d\u0442\u0430\u043f\u043e\u0432 \u0441\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445\n\n\n## [0.6.8] - 2023-11-24\n\n\u0421\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 \u0420\u0412\u0414 TELECOM.\n\u0420\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0439 modified \u0443 \u043d\u0435\u0432\u044b\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439.\n\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0438 \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430.\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0420\u0412\u0414 \u0447\u0435\u0440\u0435\u0437 Proxy API uploader_client.\n\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043b\u043e\u0433\u043e\u0432 \u0434\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-20854](https://jira.bars.group/browse/EDUSCHL-20854)\n  MINOR - \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 Proxy API.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUSCHL-20808](https://jira.bars.group/browse/EDUSCHL-20808)\n  MINOR - \u041f\u0440\u0438 \u0441\u0431\u043e\u0440\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 collect_latest_models_data \u0441\u0436\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u043f\u0430\u043c\u044f\u0442\u044c\n\n### \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-20884](https://jira.bars.group/browse/EDUSCHL-20884)\n  PATCH - \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u044f rank \u043d\u0430 rank_contact \u0432 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 \u0420\u0412\u0414 TelecomEntity.\n\n- [EDUSCHL-20711](https://jira.bars.group/browse/EDUSCHL-20711)\n  PATCH - \u0414\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u043d \u043c\u0435\u0442\u043e\u0434 BaseExportLatestEntitiesData._update_model_modified_field.\n\n- [EDUSCHL-20858](https://jira.bars.group/browse/EDUSCHL-20858)\n  PATCH - \u0412\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0438 \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430.\n\n\n## [0.6.7] - 2023-11-01\n\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043c\u0438\u043a\u0441\u0438\u043d EntityEnumRegisterMixin \u0434\u043b\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u0432 RegionalDataMartEntityEnum.\n\u041c\u0438\u043a\u0441\u0438\u043d ModelEnumRegisterMixin \u0434\u043b\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0432 RegionalDataMartModelEnum.\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u043c\u0435\u0442\u043e\u0434\u044b \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUCLLG-7632](https://jira.bars.group/browse/EDUCLLG-7632)\n  PATCH - \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u0432 \u043c\u043e\u0434\u0435\u043b\u044f\u0445-\u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f\u0445.\n\n\n## [0.6.6] - 2023-10-16\n\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0424\u0443\u043d\u043a\u0446\u0438\u0439 \u0441\u0431\u043e\u0440\u0430, \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u044f\u0432\u043d\u0430\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c Django.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-20684](https://jira.bars.group/browse/EDUSCHL-20684)\n  PATCH - \u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0424\u0443\u043d\u043a\u0446\u0438\u0439 \u0441\u0431\u043e\u0440\u0430;\n- [EDUSCHL-20684](https://jira.bars.group/browse/EDUSCHL-20684)\n  PATCH - \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c Django.\n\n\n## [0.6.5] - 2023-10-11\n\n\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043b\u043e\u0433\u043e\u0432 \u0432\u044b\u043d\u0435\u0441\u0435\u043d\u043e \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0434\u043b\u044f \u0438\u0437\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432\u0441\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0432 \u043e\u0434\u043d\u043e\u043c \u043a\u043b\u0430\u0441\u0441\u0435.\n\n### \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUCLLG-7634](https://jira.bars.group/browse/EDUCLLG-7634)\n  PATCH - \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043b\u043e\u0433\u043e\u0432 \u0432\u044b\u043d\u0435\u0441\u0435\u043d\u043e \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0434\u043b\u044f \u0438\u0437\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432\u0441\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0432 \u043e\u0434\u043d\u043e\u043c \u043a\u043b\u0430\u0441\u0441\u0435;\n\n- [EDUSCHL-20571](https://jira.bars.group/browse/EDUSCHL-20571)\n  PATCH - \u041f\u0440\u0438 \u0441\u0431\u043e\u0440\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0443\u0436\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0435 \u0441\u0431\u043e\u0440\u044b \u0438 \u043d\u043e\u0432\u044b\u0439 \u0441\u0431\u043e\u0440 \u043f\u043e \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f.\n\n- [EDUSCHL-20571](https://jira.bars.group/browse/EDUSCHL-20571)\n  PATCH - \u0423\u043a\u0430\u0437\u0430\u043d\u0438\u0435 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0438-\u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439 RegionalDataMartEntityEnum;\n\n- [EDUSCHL-20571](https://jira.bars.group/browse/EDUSCHL-20571)\n  PATCH - \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043c\u043e\u0434\u0435\u043b\u0438-\u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f RegionalDataMartEntityEnum \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0420\u0412\u0414 \u0434\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439.\n\n\n## [0.6.4] - 2023-10-09\n\n\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u0441\u0431\u043e\u0440\u043a\u0438, \u0438\u0437-\u0437\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0444\u0430\u0439\u043b\u044b \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 *.py-tpl \u043d\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u043b\u0438 \u0432 \u043f\u0430\u043a\u0435\u0442.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUCLLG-7634](https://jira.bars.group/browse/EDUCLLG-7634)\n  PATCH - \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 *.py-tpl \u0432 \u043f\u0430\u043a\u0435\u0442 \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435.\n\n\n## [0.6.3] - 2023-10-05\n\n\u0414\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043c\u043e\u0434\u0435\u043b\u0438 AbstractCollectDataCommandProgress \u0438 \u043a\u043b\u0430\u0441\u0441\u0430 BaseFirstCollectModelsDataCommandsGenerator.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-20350](https://jira.bars.group/browse/EDUSCHL-20350)\n  PATCH - \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 id \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043a\u043e\u043c\u0430\u043d\u0434 \u0432 \u043a\u043b\u0430\u0441\u0441\u0435 BaseFirstCollectModelsDataCommandsGenerator.\n        - \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u043f\u043e\u043b\u044f created, generation_id \u0438 institute_ids \u0432 \u043c\u043e\u0434\u0435\u043b\u044c AbstractCollectDataCommandProgress.\n\n\n## [0.6.2] - 2023-10-04\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUCLLG-7942](https://jira.bars.group/browse/EDUCLLG-7942)\n  PATCH \u0414\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u0431\u043e\u0440\u043a\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438.\n\n\n## [0.6.1] - 2023-10-02\n\n\u0414\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f BaseExportDataFunctionHelper.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUSCHL-20535](https://jira.bars.group/browse/EDUSCHL-20535)\n  PATCH - \u0412 \u043b\u043e\u0433\u0438\u043a\u0435 BaseExportDataFunctionHelper \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0445 \u043f\u043e\u043b\u0435\u0439 \u043e\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432.\n\n\n## [0.6.0] - 2023-09-29\n\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f set_failed_status_suspended_exporting_data_stages \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0437\u0430\u0432\u0438\u0441\u0448\u0438\u0445 \u044d\u0442\u0430\u043f\u043e\u0432/\u043f\u043e\u0434\u044d\u0442\u0430\u043f\u043e\u0432 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u0432 \u0441\u0442\u0430\u0442\u0443\u0441 (FAILED).\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f set_failed_status_suspended_collecting_data_stages \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0437\u0430\u0432\u0438\u0441\u0448\u0438\u0445 \u044d\u0442\u0430\u043f\u043e\u0432/\u043f\u043e\u0434\u044d\u0442\u0430\u043f\u043e\u0432 \u0441\u0431\u043e\u0440\u0430 \u0432 \u0441\u0442\u0430\u0442\u0443\u0441 (FAILED).\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-20487](https://jira.bars.group/browse/EDUSCHL-20487)\n  MINOR \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f ```set_failed_status_suspended_exporting_data_stages```.\n\n- [EDUSCHL-20487](https://jira.bars.group/browse/EDUSCHL-20487)\n  MINOR \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f ```set_failed_status_suspended_collecting_data_stages```.\n\n## [0.5.9] - 2023-09-25\n\n\u041f\u043e\u0432\u044b\u0448\u0435\u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u044f wheel\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUCLLG-7939](https://jira.bars.group/browse/EDUCLLG-7939)\n  PATCH - \u041f\u043e\u0432\u044b\u0448\u0435\u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u044f wheel\n\n## [0.5.8] - 2023-09-13\n\n\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0441\u043f\u0438\u0441\u043a\u0430 \u0432\u044b\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439\nBaseExportLatestEntitiesData._set_description_to_async_task.\n\n### \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-20334](https://jira.bars.group/browse/EDUSCHL-20334)\n  PATCH - \u0411\u0430\u0433 \u0441 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043f\u043e\u043b\u044f description \u0432 BaseExportLatestEntitiesData._set_description_to_async_task.\n\n## [0.5.7] - 2023-09-12\n\n\u0411\u0430\u0433 \u0444\u0438\u043a\u0441 \u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f BaseExportLatestEntitiesData.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUSCHL-20435](https://jira.bars.group/browse/EDUSCHL-20435)\n  PATCH - BaseExportLatestEntitiesData \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0443 \u043d\u0438 \u0440\u0430\u0437\u0443 \u043d\u0435\u0432\u044b\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439.\n\n### \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-20435](https://jira.bars.group/browse/EDUSCHL-20435)\n  PATCH - \u0411\u0430\u0433 \u0441 \u0443\u0441\u043b\u043e\u0432\u0438\u0435\u043c \u0432 \u0444\u0438\u043b\u044c\u0442\u0440\u0435 \u0432 BaseExportLatestEntitiesData._update_model_modified_field.\n\n\n## [0.5.6] - 2023-09-06\n\n\u0414\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u044b \u043a\u043b\u0430\u0441\u0441\u044b BaseExportLatestEntitiesData \u0438 BaseExportEntitiesData.\n\n### \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-20435](https://jira.bars.group/browse/EDUSCHL-20435)\n  PATCH - \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043b\u0435\u0432\u043e\u0439 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u0432 \u043a\u043b\u0430\u0441\u0441\u0435 ExportLatestEntitiesData;\n        - \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0438\u043b\u0438 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u043a \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0435 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439;\n        - \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 update_modified, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u0435 modified \u0443 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439,\n          \u0447\u0442\u043e\u0431\u044b \u0432\u044b\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043d\u0435\u0432\u044b\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438.\n\n\n## [0.5.5] - 2023-09-04\n\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 pip \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u0430\u043a\u0435\u0442\u0430.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-19919](https://jira.bars.group/browse/EDUSCHL-19919)\n  PATCH \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 pip \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u0430\u043a\u0435\u0442\u0430.\n\n\n## [0.5.4] - 2023-09-04\n\nsplit_by_days_count \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043b \u0432 split_by_quantity.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUSCHL-20302](https://jira.bars.group/browse/EDUSCHL-20302)\n  PATCH split_by_days_count \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043b \u0432 split_by_quantity.\n\n\n## [0.5.3] - 2023-09-03\n\n\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u044b \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u0434\u043f\u0435\u0440\u0438\u043e\u0434\u043e\u0432 \u0432 generate_first_collect_models_data_script.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUSCHL-20302](https://jira.bars.group/browse/EDUSCHL-20302)\n  PATCH \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u044b \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u0434\u043f\u0435\u0440\u0438\u043e\u0434\u043e\u0432 \u0432 generate_first_collect_models_data_script.\n\n\n## [0.5.2] - 2023-08-28\n\n\u0417\u0430\u043c\u0435\u043d\u0430 \u0431\u0430\u0437\u043e\u0432\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUSCHL-20344](https://jira.bars.group/browse/EDUSCHL-20344)\n  PATCH \u0417\u0430\u043c\u0435\u043d\u0430 \u0431\u0430\u0437\u043e\u0432\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043d\u0430 WebEduLazySavingPredefinedQueueFunction.\n\n\n## [0.5.1] - 2023-08-22\n\n\u0414\u043b\u044f BaseFirstCollectModelsDataCommandsGenerator \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u0435 - \u0435\u0441\u043b\u0438 \u043d\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d creating_trigger_models,\n\u0442\u043e \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0434\u043b\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f.\n\n### \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-20227](https://jira.bars.group/browse/EDUSCHL-20227)\n  PATCH \u0415\u0441\u043b\u0438 \u0443 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 \u043d\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d creating_trigger_models, \u0442\u043e \u0432 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0435 BaseFirstCollectModelsDataCommandsGenerator\n  \u043d\u0435 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u0434\u043b\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b.\n\n- [EDUSCHL-20229](https://jira.bars.group/browse/EDUSCHL-20229)\n  PATCH \u0415\u0441\u043b\u0438 \u0443 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 \u043d\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d creating_trigger_models, \u0442\u043e \u0432 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0435 BaseFirstCollectModelsDataCommandsGenerator\n  \u043d\u0435 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u0434\u043b\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b.\n\n\n## [0.5.0] - 2023-08-19\n\n\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c WebEduEntityValueCache \u0431\u044b\u043b\u0430 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0435\u043d\u0430 \u0432 EntityCache \u0432 function_tools.\n\n### \u0423\u0434\u0430\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-20277](https://jira.bars.group/browse/EDUSCHL-20277)\n  MINOR \u0423\u0434\u0430\u043b\u0435\u043d WebEduEntityValueCache.\n\n- [EDUSCHL-20277](https://jira.bars.group/browse/EDUSCHL-20277)\n  MINOR \u0423\u0434\u0430\u043b\u0435\u043d WebEduEntityCacheExtended.\n\n\n## [0.4.7] - 2023-08-17\n\n\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0441\u0442\u0438 \u0441\u0431\u043e\u0440\u0430/\u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u043c\u043e\u0434\u0435\u043b\u0435\u0439/\u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439. \u0412\u043c\u0435\u0441\u0442\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u043f\u043e\u043b\u0435 `order_number` \u043c\u043e\u0434\u0435\u043b\u0438-\u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f `TitledModelEnum`. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435, \u043a\u043e\u0433\u0434\u0430 `order_number` \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d, \u0442.\u0435. \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e `DEFAULT_ORDER_NUMBER`, \u043c\u043e\u0434\u0435\u043b\u044c/\u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044c \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u0438\u0437 \u0441\u0431\u043e\u0440\u0430/\u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUSCHL-19164](https://jira.bars.group/browse/EDUSCHL-19164)\n  MINOR \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0441\u0442\u0438 \u0441\u0431\u043e\u0440\u0430/\u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u043c\u043e\u0434\u0435\u043b\u0435\u0439/\u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439.\n\n## [0.4.6] - 2023-08-16\n\n\u0423\u0434\u0430\u043b\u0435\u043d \u043b\u0438\u0448\u043d\u0438\u0439 \u0432\u044b\u0437\u043e\u0432 \u043c\u0435\u0442\u043e\u0434\u0430 _prepare_logs\n\n### \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-19991](https://jira.bars.group/browse/EDUSCHL-19991)\n  PATCH \u0443\u0434\u0430\u043b\u0435\u043d \u043b\u0438\u0448\u043d\u0438\u0439 \u0432\u044b\u0437\u043e\u0432 \u043c\u0435\u0442\u043e\u0434\u0430 ```_prepare_logs``` \u0432 \u043c\u0435\u0442\u043e\u0434\u0435  ```__init__``` \u043a\u043b\u0430\u0441\u0441\u0430 ```BaseCollectingCalculatedExportedDataFunctionCacheStorage```\n\n## [0.4.5] - 2023-08-09\n\n\u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u043b\u043e\u0433\u043e\u0432 \u043e\u0442\u043d\u043e\u0441\u044f\u0449\u0438\u0445\u0441\u044f \u043a \u043e\u0434\u043d\u043e\u043c\u0443 \u043e\u0431\u044a\u0435\u043a\u0442\u0443\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-19991](https://jira.bars.group/browse/EDUSCHL-19991)\n PATCH \u041d\u043e\u0432\u044b\u0439 \u043c\u0438\u043a\u0441\u0438\u043d ```ReformatLogsMixin``` , \u043d\u043e\u0432\u043e\u0435 \u043f\u043e\u043b\u0435 is_merge_logs \u0438 \u043d\u043e\u0432\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 _merge_logs \u0443 \u043a\u043b\u0430\u0441\u0441\u0430 ```BaseCollectingExportedDataFunctionCacheStorage```\n\n## [0.4.4] - 2023-08-12\n\n\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u0431\u0430\u0433 \u0441 timedelta\n\n### \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-20200](https://jira.bars.group/browse/EDUSCHL-20200)\n  PATCH \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u0431\u0430\u0433 \u0441 timedelta.\n\n## [0.4.3] - 2023-08-12\n\n\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u0431\u0430\u0433 \u0441 timedelta\n\n### \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-20200](https://jira.bars.group/browse/EDUSCHL-20200)\n  PATCH \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u0431\u0430\u0433 \u0441 timedelta.\n\n## [0.4.2] - 2023-08-11\n\n\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0443\u0447\u0435\u0442\u0430 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434, \u043f\u0440\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0441\u0431\u043e\u0440\u0430 \u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u0412 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 chunk_size \u0432\u0441\u0435\n\u0440\u0430\u0432\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e. \u042d\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u043f\u0440\u0438 \u043e\u0431\u043d\u0443\u043b\u0435\u043d\u0438\u0438 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434 \u0437\u0430 \u043e\u0434\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u044c\u044e \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u043c\u043e\u0436\u0435\u0442 \u0441\u043a\u0440\u044b\u0432\u0430\u0442\u044c\u0441\u044f\n\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u044b \u0438\u043b\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u043c\u0438. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c, \u043d\u043e\n\u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438.\n\u0412 \u0432\u044b\u0431\u043e\u0440\u043a\u0430\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438 \u043b\u043e\u0433\u043e\u0432 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u0445\u043e\u0434\u0438\u0442\u044c \u043f\u0440\u0430\u0432\u0430\u044f \u0433\u0440\u0430\u043d\u0438\u0446\u0430 \u043f\u0435\u0440\u0438\u043e\u0434\u0430 \u0432\u044b\u0431\u043e\u0440\u043a\u0438.\n\n### \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-20235](https://jira.bars.group/browse/EDUSCHL-20235)\n  PATCH \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u0443\u0447\u0435\u0442\u0430 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434 \u0432 \u0432\u044b\u0431\u043e\u0440\u043a\u0430\u0445 \u043f\u0440\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430 \u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445.\n\n- [EDUSCHL-20235](https://jira.bars.group/browse/EDUSCHL-20235)\n  PATCH \u0412 \u0432\u044b\u0431\u043e\u0440\u043a\u0430\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438 \u043b\u043e\u0433\u043e\u0432 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u0445\u043e\u0434\u0438\u0442\u044c \u043f\u0440\u0430\u0432\u0430\u044f \u0433\u0440\u0430\u043d\u0438\u0446\u0430 \u043f\u0435\u0440\u0438\u043e\u0434\u0430 \u0432\u044b\u0431\u043e\u0440\u043a\u0438.\n\n## [0.4.1] - 2023-08-09\n\n\u0414\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-20235](https://jira.bars.group/browse/EDUSCHL-20235)\n  PATCH \u0414\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439.\n\n## [0.4.0] - 2023-08-09\n\n\u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043e\u0431\u0449\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0434\u043b\u044f \u043a\u043e\u043c\u0430\u043d\u0434 \u0441\u0431\u043e\u0440\u0430/\u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-20200](https://jira.bars.group/browse/EDUSCHL-20200)\n  MINOR \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u043e\u0431\u0449\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0438, \u043c\u0435\u0442\u043e\u0434\u044b \u0438 \u043a\u043b\u0430\u0441\u0441\u044b.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUSCHL-20200](https://jira.bars.group/browse/EDUSCHL-20200)\n  MINOR \u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043e\u0431\u0449\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0434\u043b\u044f \u043a\u043e\u043c\u0430\u043d\u0434 \u0441\u0431\u043e\u0440\u0430/\u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430.\n\n## [0.3.3] - 2023-08-08\n\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0432 \u0440\u0430\u043d\u0435\u0440\u0435 \u0434\u043b\u044f \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0438 \u043f\u0430\u043c\u044f\u0442\u0438.\n\n### \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-20235](https://jira.bars.group/browse/EDUSCHL-20235)\n  PATCH \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0432 \u0440\u0430\u043d\u0435\u0440\u0435 \u0434\u043b\u044f \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0438 \u043f\u0430\u043c\u044f\u0442\u0438.\n\n## [0.3.2] - 2023-08-08\n\n\u041e\u0442\u043a\u0430\u0442 \u043a \u0441\u043f\u0438\u0441\u043a\u0430\u043c \u043d\u0435\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0445 \u043b\u043e\u0433\u043e\u0432. \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0447\u0430\u043d\u043a\u043e\u0432 \u043b\u043e\u0433\u043e\u0432.\n\n### \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-20235](https://jira.bars.group/browse/EDUSCHL-20235)\n  PATCH \u041e\u0442\u043a\u0430\u0442 \u043a \u0441\u043f\u0438\u0441\u043a\u0430\u043c \u043d\u0435\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0445 \u043b\u043e\u0433\u043e\u0432.\n\n## [0.3.1] - 2023-08-08\n\n\u041e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u043d\u0435\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0445 \u043b\u043e\u0433\u043e\u0432 \u0432 \u0432\u0438\u0434\u0435 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUSCHL-20235](https://jira.bars.group/browse/EDUSCHL-20235)\n  PATCH \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u043d\u0435\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0445 \u043b\u043e\u0433\u043e\u0432 \u0432 \u0432\u0438\u0434\u0435 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430.\n\n## [0.3.0] - 2023-08-06\n\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u043e\u0442\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u0435\u0448\u0435\u0439. \u0417\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u0447\u0430\u043b\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u043e\u0433\u043e\n\u043e\u0431\u044a\u0435\u043a\u0442\u0430.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-20235](https://jira.bars.group/browse/EDUSCHL-20235)\n  PATCH \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u043e\u0442\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u0435\u0448\u0435\u0439 \u0445\u0435\u043b\u043f\u0435\u0440\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.\n\n- [EDUSCHL-20235](https://jira.bars.group/browse/EDUSCHL-20235)\n  MINOR \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u044d\u0442\u0430\u043f\u0430 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0443 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0435\u0439.\n\n## [0.2.2] - 2023-08-06\n\n\u0414\u043b\u044f API \u0420\u0412\u0414 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0442\u0438\u043f\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-19920](https://jira.bars.group/browse/EDUSCHL-19920)\n  PATCH \u0414\u043b\u044f API \u0420\u0412\u0414 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0442\u0438\u043f\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445.\n\n## [0.2.1] - 2023-08-05\n\n\u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u0430\u043a\u0435\u0442\u0430 \u043f\u043e\u0441\u043b\u0435 \u0443\u0445\u043e\u0434\u0430 \u0441 poetry.\n\n### \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-19919](https://jira.bars.group/browse/EDUSCHL-19919)\n  PATCH \u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u0430\u043a\u0435\u0442\u0430 \u043f\u043e\u0441\u043b\u0435 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 poetry.\n\n## [0.2.0] - 2023-08-04\n\n\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0439 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0424\u0443\u043d\u043a\u0446\u0438\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0432 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-19919](https://jira.bars.group/browse/EDUSCHL-19919)\n  MINOR \u041f\u0435\u0440\u0435\u043d\u0435\u0441\u0435\u043d\u044b \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0424\u0443\u043d\u043a\u0446\u0438\u0439 \u0438\u0437 \u042d\u0428.\n\n## [0.1.4] - 2023-08-03\n\n\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u0440\u0430\u043d\u0435\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUSCHL-20209](https://jira.bars.group/browse/EDUSCHL-20209)\n  PATCH \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438.\n\n- [EDUSCHL-20209](https://jira.bars.group/browse/EDUSCHL-20209)\n  PATCH \u0414\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043e \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438.\n\n- [EDUSCHL-20200](https://jira.bars.group/browse/EDUSCHL-20200)\n  \u0417\u0430\u043a\u0440\u0435\u043f\u043b\u0435\u043d\u044b \u0432\u0435\u0440\u0441\u0438\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 uploader-client\n\n## [0.1.3] - 2023-07-24\n\n\u0414\u043b\u044f \u0440\u0430\u0441\u043a\u0430\u0442\u043a\u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0439 \u043d\u0430 \u042d\u0428, \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0437\u0430\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 initial-\u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUSCHL-19919](https://jira.bars.group/browse/EDUSCHL-19919)\n  PATCH \u0412\u044b\u043d\u0435\u0441\u0442\u0438 \u043e\u0431\u0449\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0420\u0412\u0414 \u0438\u0437 \u042d\u0428 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u042d\u041a.\n\n## [0.1.2] - 2023-07-23\n\n\u0412\u043d\u0435\u0441\u0435\u043d\u044b \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u0434\u043e\u0432\u0443\u044e \u0431\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0437 \u042d\u0428 \u0432 educommon.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n- [EDUSCHL-19919](https://jira.bars.group/browse/EDUSCHL-19919)\n  PATCH \u0412\u044b\u043d\u0435\u0441\u0442\u0438 \u043e\u0431\u0449\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0420\u0412\u0414 \u0438\u0437 \u042d\u0428 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u042d\u041a.\n\n## [0.1.0] - 2023-07-18\n\n\u0412\u043d\u0435\u0441\u0435\u043d\u044b \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u0434\u043e\u0432\u0443\u044e \u0431\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0437 \u042d\u0428 \u0432 educommon.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [EDUSCHL-19919](https://jira.bars.group/browse/EDUSCHL-19919)\n  MINOR \u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u0420\u0412\u0414 \u0438\u0437 \u042d\u0428.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "\u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 \u0420\u0435\u0433\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0438\u0442\u0440\u0438\u043d\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445",
    "version": "3.3.0",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "072fe7b7bad63c14b957edb1d47131eea299967bb9086853519746246b756f92",
                "md5": "7a5eb1cf9c21e7376521c820ff58b67b",
                "sha256": "130c0e6b8230af47191f101a010f64a1244f00dd0bae63de1d7d513256d998a2"
            },
            "downloads": -1,
            "filename": "edu_rdm_integration-3.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7a5eb1cf9c21e7376521c820ff58b67b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 172703,
            "upload_time": "2024-06-06T08:33:39",
            "upload_time_iso_8601": "2024-06-06T08:33:39.635284Z",
            "url": "https://files.pythonhosted.org/packages/07/2f/e7b7bad63c14b957edb1d47131eea299967bb9086853519746246b756f92/edu_rdm_integration-3.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0fe34a29df8ea8aa3b7f3b9370c7fa46b61cdfc41ec4bf371cfb08adf2769151",
                "md5": "fd667c17e3b6bc91e31f29851291bfe1",
                "sha256": "96c86b12dd0654f2a4c3f856a3d37406f2a1ff62010c1e4d533b4aea49e29a8d"
            },
            "downloads": -1,
            "filename": "edu-rdm-integration-3.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "fd667c17e3b6bc91e31f29851291bfe1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 129139,
            "upload_time": "2024-06-06T08:33:42",
            "upload_time_iso_8601": "2024-06-06T08:33:42.414552Z",
            "url": "https://files.pythonhosted.org/packages/0f/e3/4a29df8ea8aa3b7f3b9370c7fa46b61cdfc41ec4bf371cfb08adf2769151/edu-rdm-integration-3.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-06 08:33:42",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "edu-rdm-integration"
}
        
Elapsed time: 0.28958s