edu-rdm-integration 3.21.0__py3-none-any.whl → 3.23.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. edu_rdm_integration/core/consts.py +3 -0
  2. edu_rdm_integration/pipelines/cleanup_outdated_data/management/commands/rdm_cleanup_outdated_data.py +32 -1
  3. edu_rdm_integration/pipelines/transfer/tasks.py +5 -0
  4. edu_rdm_integration/rdm_entities/models.py +5 -0
  5. edu_rdm_integration/rdm_models/models.py +29 -11
  6. edu_rdm_integration/stages/collect_data/functions/base/runners.py +7 -0
  7. edu_rdm_integration/stages/collect_data/migrations/0005_alter_rdmcollectingdatasubstage_previous.py +22 -0
  8. edu_rdm_integration/stages/collect_data/migrations/0006_fix_fk_constraints.py +59 -0
  9. edu_rdm_integration/stages/collect_data/models.py +5 -0
  10. edu_rdm_integration/stages/collect_data/registry/actions.py +4 -4
  11. edu_rdm_integration/stages/collect_data/registry/templates/ui-js/collect-command-window.js +8 -19
  12. edu_rdm_integration/stages/collect_data/registry/templates/ui-js/validators.js +0 -15
  13. edu_rdm_integration/stages/export_data/functions/base/runners.py +11 -0
  14. edu_rdm_integration/stages/export_data/migrations/0003_alter_rdmexportingdatasubstageattachment_exporting_data_sub_stage.py +22 -0
  15. edu_rdm_integration/stages/export_data/migrations/0004_fix_fk_constraints.py +76 -0
  16. edu_rdm_integration/stages/export_data/models.py +12 -1
  17. edu_rdm_integration/stages/export_data/registry/actions.py +5 -4
  18. edu_rdm_integration/stages/export_data/registry/templates/ui-js/create-export-command-win.js +15 -31
  19. edu_rdm_integration/stages/service/service_outdated_data/cleaners/__init__.py +0 -0
  20. edu_rdm_integration/stages/service/service_outdated_data/cleaners/base.py +305 -0
  21. edu_rdm_integration/stages/service/service_outdated_data/cleaners/collect_data.py +119 -0
  22. edu_rdm_integration/stages/service/service_outdated_data/cleaners/consts.py +1 -0
  23. edu_rdm_integration/stages/service/service_outdated_data/cleaners/export_data.py +174 -0
  24. edu_rdm_integration/stages/service/service_outdated_data/cleaners/upload_data.py +64 -0
  25. edu_rdm_integration/stages/service/service_outdated_data/managers.py +80 -0
  26. edu_rdm_integration/stages/upload_data/enums.py +2 -0
  27. edu_rdm_integration/stages/upload_data/export_managers.py +3 -1
  28. edu_rdm_integration/stages/upload_data/management/commands/custom_check_upload_status.py +59 -0
  29. edu_rdm_integration/stages/upload_data/management/commands/custom_upload_files.py +45 -0
  30. edu_rdm_integration/stages/upload_data/migrations/0003_auto_20251006_1417.py +28 -0
  31. edu_rdm_integration/stages/upload_data/migrations/0004_fix_fk_constraints.py +79 -0
  32. edu_rdm_integration/stages/upload_data/models.py +5 -2
  33. edu_rdm_integration/stages/upload_data/queues.py +50 -2
  34. edu_rdm_integration/stages/upload_data/tasks.py +2 -2
  35. edu_rdm_integration/stages/utils.py +61 -0
  36. edu_rdm_integration/templates/ui-js/collect-and-export-validators.js +54 -0
  37. {edu_rdm_integration-3.21.0.dist-info → edu_rdm_integration-3.23.0.dist-info}/METADATA +86 -59
  38. {edu_rdm_integration-3.21.0.dist-info → edu_rdm_integration-3.23.0.dist-info}/RECORD +41 -24
  39. {edu_rdm_integration-3.21.0.dist-info → edu_rdm_integration-3.23.0.dist-info}/WHEEL +0 -0
  40. {edu_rdm_integration-3.21.0.dist-info → edu_rdm_integration-3.23.0.dist-info}/licenses/LICENSE +0 -0
  41. {edu_rdm_integration-3.21.0.dist-info → edu_rdm_integration-3.23.0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: edu-rdm-integration
3
- Version: 3.21.0
3
+ Version: 3.23.0
4
4
  Summary: Интеграция с Региональной витриной данных
5
5
  Author-email: BARS Group <education_dev@bars.group>
6
6
  Project-URL: Homepage, https://stash.bars-open.ru/projects/EDUBASE/repos/edu-rdm-integration/browse
@@ -151,8 +151,11 @@ INSTALLED_APPS = (
151
151
  ('rdm_general', 'EXPORT_ENTITY_ID_PREFIX'): '', # Дефолтное значение нужно изменить на специфическое системе
152
152
  ('rdm_general', 'COLLECT_CHUNK_SIZE'): 500,
153
153
  ('rdm_general', 'EXPORT_CHUNK_SIZE'): 500,
154
+ ('rdm_general', 'COLLECT_CHUNKS_LIMIT'): 0,
155
+ ('rdm_general', 'EXPORT_CHUNKS_LIMIT'): 0,
154
156
  ('rdm_general', 'UPLOAD_QUEUE_MAX_SIZE'): 500_000_000,
155
157
  ('rdm_general', 'RDM_MENU_ITEM'): False,
158
+ ('rdm_general', 'COLLECT_PROGRESS_BATCH_SIZE'): 10000,
156
159
  ('rdm_transfer_task', 'MINUTE'): '0',
157
160
  ('rdm_transfer_task', 'HOUR'): '*/4',
158
161
  ('rdm_transfer_task', 'DAY_OF_WEEK'): '*',
@@ -198,6 +201,7 @@ INSTALLED_APPS = (
198
201
  ('uploader_client', 'INSTALLATION_NAME'): '',
199
202
  ('uploader_client', 'INSTALLATION_ID'): '',
200
203
  ('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_MODELS_OUTDATED_DATA'): False,
204
+ ('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_SERVICE_OUTDATED_DATA'): False,
201
205
  ('rdm_cleanup_outdated_data', 'CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE'): 10000,
202
206
  ('rdm_cleanup_outdated_data', 'CLEANUP_MODELS_OUTDATED_DATA_POOL_SIZE'): 10,
203
207
  })
@@ -221,6 +225,12 @@ INSTALLED_APPS = (
221
225
  # Количество записей моделей обрабатываемых за одну итерацию экспорта данных
222
226
  RDM_EXPORT_CHUNK_SIZE = conf.get_int('rdm_general', 'EXPORT_CHUNK_SIZE')
223
227
 
228
+ # Для тестирования. Лимит обрабатываемых чанков при сборе
229
+ RDM_COLLECT_CHUNKS_LIMIT = conf.get_int('rdm_general', 'COLLECT_CHUNKS_LIMIT')
230
+
231
+ # Для тестирования. Лимит обрабатываемых чанков при экспорте
232
+ RDM_EXPORT_CHUNKS_LIMIT = conf.get_int('rdm_general', 'EXPORT_CHUNKS_LIMIT')
233
+
224
234
  # Количество не экспортированных записей моделей обрабатываемых за одну итерацию обновления поля modified
225
235
  RDM_UPDATE_NON_EXPORTED_CHUNK_SIZE = conf.get_int('rdm_general', 'UPDATE_NON_EXPORTED_CHUNK_SIZE')
226
236
 
@@ -230,6 +240,9 @@ INSTALLED_APPS = (
230
240
  # Пункт меню "Региональная витрина данных" - Спрятать (False) / Отображать (True)
231
241
  RDM_MENU_ITEM = conf.get_bool('rdm_general', 'RDM_MENU_ITEM')
232
242
 
243
+ # Размер батча для bulk_create операций при сборе данных РВД.
244
+ RDM_COLLECT_PROGRESS_BATCH_SIZE = conf.get_int('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE')
245
+
233
246
  # Настройка запуска периодической задачи выгрузки данных:
234
247
  RDM_TRANSFER_TASK_MINUTE = conf.get('rdm_transfer_task', 'MINUTE')
235
248
  RDM_TRANSFER_TASK_HOUR = conf.get('rdm_transfer_task', 'HOUR')
@@ -315,6 +328,8 @@ INSTALLED_APPS = (
315
328
 
316
329
  # Включить зачистку устаревших данных моделей РВД
317
330
  RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA = conf.get_bool('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_MODELS_OUTDATED_DATA')
331
+ # Включить зачистку устаревших данных сервисных моделей РВД
332
+ RDM_ENABLE_CLEANUP_SERVICE_OUTDATED_DATA = conf.get_bool('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_SERVICE_OUTDATED_DATA')
318
333
  # Размер чанка записей зачистки устаревших данных моделей РВД
319
334
  RDM_CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE = conf.get_int('rdm_cleanup_outdated_data', 'CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE')
320
335
  # Количество подключений к БД для зачистки устаревших данных моделей РВД
@@ -323,64 +338,68 @@ INSTALLED_APPS = (
323
338
 
324
339
  Перечень настроек в settings.py указан в таблице ниже.
325
340
 
326
- | Название настройки в settings | Описание | Значение по умолчанию |
327
- |----------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------|-------------------------|
328
- | UPLOADS | Основная директория в MEDIA, в которой будет создана директория edu_rdm_integration для сохранения файлов для дальнейшей выгрузки | 500 |
329
- | RDM_EXPORT_ENTITY_ID_PREFIX | Префикс идентификаторов записей сущностей специфический для продукта | |
330
- | RDM_COLLECT_CHUNK_SIZE | Количество записей моделей обрабатываемых за одну итерацию сбора данных | 500 |
331
- | RDM_EXPORT_CHUNK_SIZE | Количество записей моделей обрабатываемых за одну итерацию экспорта | 500 |
332
- | RDM_UPDATE_NON_EXPORTED_CHUNK_SIZE | # Количество не экспортированных записей моделей обрабатываемых за одну итерацию обновления поля modified | 5000 |
333
- | RDM_UPLOAD_QUEUE_MAX_SIZE | Объем очереди файлов в витрину байтах). | 500_000_000 |
334
- | RDM_MENU_ITEM | Отображение пункта меню Пункт меню "Региональная витрина данных" | False |
335
- | RDM_TRANSFER_TASK_MINUTE | Настройка запуска периодической задачи выгрузки данных. Минута | '0' |
336
- | RDM_TRANSFER_TASK_HOUR | Настройка запуска периодической задачи выгрузки данных. Час | '*/4' |
337
- | RDM_TRANSFER_TASK_DAY_OF_WEEK | Настройка запуска периодической задачи выгрузки данных. День недели | '*' |
338
- | RDM_TRANSFER_TASK_LOCK_EXPIRE_SECONDS | Время по истечении которого, блокировка может быть снята (в секундах) | 21600 |
339
- | RDM_FAST_TRANSFER_TASK_MINUTE | Настройка запуска периодической задачи (быстрая очередь) выгрузки данных. Минута | '*/5' |
340
- | RDM_FAST_TRANSFER_TASK_HOUR | Настройка запуска периодической задачи (быстрая очередь) выгрузки данных. Час | '*' |
341
- | RDM_FAST_TRANSFER_TASK_DAY_OF_WEEK | Настройка запуска периодической задачи (быстрая очередь) выгрузки данных. День недели | '*' |
342
- | RDM_FAST_TRANSFER_TASK_LOCK_EXPIRE_SECONDS | Время по истечении которого, блокировка может быть снята (в секундах) | 1800 |
343
- | RDM_LONG_TRANSFER_TASK_MINUTE | Настройка запуска периодической задачи (долгая очередь) выгрузки данных. Минута | 0 |
344
- | RDM_LONG_TRANSFER_TASK_HOUR | Настройка запуска периодической задачи (долгая очередь) выгрузки данных. Час | '*/6' |
345
- | RDM_LONG_TRANSFER_TASK_DAY_OF_WEEK | Настройка запуска периодической задачи (долгая очередь) выгрузки данных. День недели | '*' |
346
- | RDM_LONG_TRANSFER_TASK_LOCK_EXPIRE_SECONDS | Время по истечении которого, блокировка может быть снята (в секундах) | 28800 |
347
- | RDM_CHECK_SUSPEND_TASK_MINUTE | Настройка запуска периодической задачи поиска зависших этапов экспорта. Минута | */10 |
348
- | RDM_CHECK_SUSPEND_TASK_HOUR | Настройка запуска периодической задачи поиска зависших этапов экспорта. Час | * |
349
- | RDM_CHECK_SUSPEND_TASK_DAY_OF_WEEK | Настройка запуска периодической задачи поиска зависших этапов экспорта. День недели | * |
350
- | RDM_CHECK_SUSPEND_TASK_LOCK_EXPIRE_SECONDS | Время по истечении которого, блокировка может быть снята (в секундах). | 7200 |
351
- | RDM_CHECK_SUSPEND_TASK_STAGE_TIMEOUT | Дельта для определения зависшего подэтапа. Минута | 120 |
352
- | RDM_UPLOAD_DATA_TASK_MINUTE | Настройка запуска периодической задачи отправки файлов с данными РВД (минута). | '0' |
353
- | RDM_UPLOAD_DATA_TASK_HOUR | Настройка запуска периодической задачи отправки файлов с данными РВД (час). | '*/2' |
354
- | RDM_UPLOAD_DATA_TASK_DAY_OF_WEEK | Настройка запуска периодической задачи отправки файлов с данными РВД (день недели). | '*' |
355
- | RDM_UPLOAD_DATA_TASK_LOCK_EXPIRE_SECONDS | Время по истечении которого, блокировка может быть снята (в секундах). | 7200 |
356
- | RDM_UPLOAD_DATA_TASK_EXPORT_STAGES | Количество подэтапов для обработки в периодической задаче отправки данных. | 500 |
357
- | RDM_UPLOAD_STATUS_TASK_MINUTE | Настройка запуска периодической задачи статуса загрузки данных в витрину. Минута | '*/30' |
358
- | RDM_UPLOAD_STATUS_TASK_HOUR | Настройка запуска периодической задачи статуса загрузки данных в витрину. Час | '*' |
359
- | RDM_UPLOAD_STATUS_TASK_DAY_OF_WEEK | Настройка запуска периодической задачи статуса загрузки данных в витрину. День недели | '*' |
360
- | RDM_UPLOAD_STATUS_TASK_LOCK_EXPIRE_SECONDS | Время по истечении которого, блокировка может быть снята (в секундах) | 3600 |
361
- | RDM_REDIS_HOST | Настройка очереди Redis для формирования файлов РВД (хост). | |
362
- | RDM_REDIS_PORT | Настройка очереди Redis для формирования файлов РВД (порт). | |
363
- | RDM_REDIS_DB | Настройка очереди Redis для формирования файлов РВД (номер бд). | |
364
- | RDM_REDIS_PASSWORD | Настройка очереди Redis для формирования файлов РВД (пароль). | |
365
- | RDM_REDIS_CACHE_TIMEOUT_SECONDS | Таймаут для сохранения параметров в общем кеш (секунды). | 7200 |
366
- | RDM_UPLOADER_CLIENT_URL | Адрес витрины (schema://host:port) | 'http://localhost:8090' |
367
- | RDM_UPLOADER_CLIENT_DATAMART_NAME | Мнемоника Витрины | 'test' |
368
- | RDM_UPLOADER_CLIENT_REQUEST_RETRIES | Количество повторных попыток запроса | 10 |
369
- | RDM_UPLOADER_CLIENT_REQUEST_TIMEOUT | Таймаут запроса, сек | 10 |
370
- | RDM_UPLOADER_CLIENT_ENABLE_REQUEST_EMULATION | Включить эмуляцию отправки запросов | True |
371
- | RDM_RESPONSE_FILE_STATUS | Установить тип ответа витрины при проверке статуса отправленного файла | 'success' |
372
- | RDM_UPLOADER_CLIENT_USE_PROXY_API | Использование Proxy API | False |
373
- | RDM_UPLOADER_CLIENT_USERNAME | Имя пользователя IAM | |
374
- | RDM_UPLOADER_CLIENT_PASSWORD | Пароль пользователя IAM | |
375
- | RDM_UPLOADER_CLIENT_ORGANIZATION_OGRN | ОГРН организации, в рамках которой развёрнута Витрина | |
376
- | RDM_UPLOADER_CLIENT_INSTALLATION_NAME | Имя инсталляции в целевой Витрине | |
377
- | RDM_UPLOADER_CLIENT_INSTALLATION_ID | Идентификатор инсталляции в целевой Витрине | |
378
- | RDM_COLLECT_LOG_DIR | Директория логов сбора данных, доступных для скачивания | |
379
- | RDM_EXPORT_LOG_DIR | Директория логов экспорта данных, доступных для скачивания | |
380
- | RDM_UPLOAD_LOG_DIR | Директория логов отправки данных в витрину, доступных для скачивания | |
381
- | RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA | Включение зачистки устаревших данных моделей РВД | False |
382
- | RDM_CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE | Размер чанка записей зачистки устаревших данных моделей РВД | 10000 |
383
- | RDM_CLEANUP_MODELS_OUTDATED_DATA_POOL_SIZE | Количество подключений к БД для зачистки устаревших данных моделей РВД | 10 |
341
+ | Название настройки в settings | Описание | Значение по умолчанию |
342
+ |----------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------|
343
+ | UPLOADS | Основная директория в MEDIA, в которой будет создана директория edu_rdm_integration для сохранения файлов для дальнейшей выгрузки | 500 |
344
+ | RDM_EXPORT_ENTITY_ID_PREFIX | Префикс идентификаторов записей сущностей специфический для продукта | |
345
+ | RDM_COLLECT_CHUNK_SIZE | Количество записей моделей обрабатываемых за одну итерацию сбора данных | 500 |
346
+ | RDM_EXPORT_CHUNK_SIZE | Количество записей моделей обрабатываемых за одну итерацию экспорта | 500 |
347
+ | RDM_COLLECT_CHUNKS_LIMIT | Для тестирования. Лимит обрабатываемых чанков при сборе и включенном DEBUG=True | 0 |
348
+ | RDM_EXPORT_CHUNKS_LIMIT | Для тестирования. Лимит обрабатываемых чанков при экспорте и включенном DEBUG=True | 0 |
349
+ | RDM_UPDATE_NON_EXPORTED_CHUNK_SIZE | # Количество не экспортированных записей моделей обрабатываемых за одну итерацию обновления поля modified | 5000 |
350
+ | RDM_UPLOAD_QUEUE_MAX_SIZE | Объем очереди файлов в витрину байтах). | 500_000_000 |
351
+ | RDM_MENU_ITEM | Отображение пункта меню Пункт меню "Региональная витрина данных" | False |
352
+ | RDM_COLLECT_PROGRESS_BATCH_SIZE | Размер батча для сохранений записей в базу при сборе данных РВД | 10000 |
353
+ | RDM_TRANSFER_TASK_MINUTE | Настройка запуска периодической задачи выгрузки данных. Минута | '0' |
354
+ | RDM_TRANSFER_TASK_HOUR | Настройка запуска периодической задачи выгрузки данных. Час | '*/4' |
355
+ | RDM_TRANSFER_TASK_DAY_OF_WEEK | Настройка запуска периодической задачи выгрузки данных. День недели | '*' |
356
+ | RDM_TRANSFER_TASK_LOCK_EXPIRE_SECONDS | Время по истечении которого, блокировка может быть снята секундах) | 21600 |
357
+ | RDM_FAST_TRANSFER_TASK_MINUTE | Настройка запуска периодической задачи (быстрая очередь) выгрузки данных. Минута | '*/5' |
358
+ | RDM_FAST_TRANSFER_TASK_HOUR | Настройка запуска периодической задачи (быстрая очередь) выгрузки данных. Час | '*' |
359
+ | RDM_FAST_TRANSFER_TASK_DAY_OF_WEEK | Настройка запуска периодической задачи (быстрая очередь) выгрузки данных. День недели | '*' |
360
+ | RDM_FAST_TRANSFER_TASK_LOCK_EXPIRE_SECONDS | Время по истечении которого, блокировка может быть снята секундах) | 1800 |
361
+ | RDM_LONG_TRANSFER_TASK_MINUTE | Настройка запуска периодической задачи (долгая очередь) выгрузки данных. Минута | 0 |
362
+ | RDM_LONG_TRANSFER_TASK_HOUR | Настройка запуска периодической задачи (долгая очередь) выгрузки данных. Час | '*/6' |
363
+ | RDM_LONG_TRANSFER_TASK_DAY_OF_WEEK | Настройка запуска периодической задачи (долгая очередь) выгрузки данных. День недели | '*' |
364
+ | RDM_LONG_TRANSFER_TASK_LOCK_EXPIRE_SECONDS | Время по истечении которого, блокировка может быть снята секундах) | 28800 |
365
+ | RDM_CHECK_SUSPEND_TASK_MINUTE | Настройка запуска периодической задачи поиска зависших этапов экспорта. Минута | */10 |
366
+ | RDM_CHECK_SUSPEND_TASK_HOUR | Настройка запуска периодической задачи поиска зависших этапов экспорта. Час | * |
367
+ | RDM_CHECK_SUSPEND_TASK_DAY_OF_WEEK | Настройка запуска периодической задачи поиска зависших этапов экспорта. День недели | * |
368
+ | RDM_CHECK_SUSPEND_TASK_LOCK_EXPIRE_SECONDS | Время по истечении которого, блокировка может быть снята секундах). | 7200 |
369
+ | RDM_CHECK_SUSPEND_TASK_STAGE_TIMEOUT | Дельта для определения зависшего подэтапа. Минута | 120 |
370
+ | RDM_UPLOAD_DATA_TASK_MINUTE | Настройка запуска периодической задачи отправки файлов с данными РВД (минута). | '0' |
371
+ | RDM_UPLOAD_DATA_TASK_HOUR | Настройка запуска периодической задачи отправки файлов с данными РВД (час). | '*/2' |
372
+ | RDM_UPLOAD_DATA_TASK_DAY_OF_WEEK | Настройка запуска периодической задачи отправки файлов с данными РВД (день недели). | '*' |
373
+ | RDM_UPLOAD_DATA_TASK_LOCK_EXPIRE_SECONDS | Время по истечении которого, блокировка может быть снята (в секундах). | 7200 |
374
+ | RDM_UPLOAD_DATA_TASK_EXPORT_STAGES | Количество подэтапов для обработки в периодической задаче отправки данных. | 500 |
375
+ | RDM_UPLOAD_STATUS_TASK_MINUTE | Настройка запуска периодической задачи статуса загрузки данных в витрину. Минута | '*/30' |
376
+ | RDM_UPLOAD_STATUS_TASK_HOUR | Настройка запуска периодической задачи статуса загрузки данных в витрину. Час | '*' |
377
+ | RDM_UPLOAD_STATUS_TASK_DAY_OF_WEEK | Настройка запуска периодической задачи статуса загрузки данных в витрину. День недели | '*' |
378
+ | RDM_UPLOAD_STATUS_TASK_LOCK_EXPIRE_SECONDS | Время по истечении которого, блокировка может быть снята (в секундах) | 3600 |
379
+ | RDM_REDIS_HOST | Настройка очереди Redis для формирования файлов РВД (хост). | |
380
+ | RDM_REDIS_PORT | Настройка очереди Redis для формирования файлов РВД (порт). | |
381
+ | RDM_REDIS_DB | Настройка очереди Redis для формирования файлов РВД (номер бд). | |
382
+ | RDM_REDIS_PASSWORD | Настройка очереди Redis для формирования файлов РВД (пароль). | |
383
+ | RDM_REDIS_CACHE_TIMEOUT_SECONDS | Таймаут для сохранения параметров в общем кеш (секунды). | 7200 |
384
+ | RDM_UPLOADER_CLIENT_URL | Адрес витрины (schema://host:port) | 'http://localhost:8090' |
385
+ | RDM_UPLOADER_CLIENT_DATAMART_NAME | Мнемоника Витрины | 'test' |
386
+ | RDM_UPLOADER_CLIENT_REQUEST_RETRIES | Количество повторных попыток запроса | 10 |
387
+ | RDM_UPLOADER_CLIENT_REQUEST_TIMEOUT | Таймаут запроса, сек | 10 |
388
+ | RDM_UPLOADER_CLIENT_ENABLE_REQUEST_EMULATION | Включить эмуляцию отправки запросов | True |
389
+ | RDM_RESPONSE_FILE_STATUS | Установить тип ответа витрины при проверке статуса отправленного файла | 'success' |
390
+ | RDM_UPLOADER_CLIENT_USE_PROXY_API | Использование Proxy API | False |
391
+ | RDM_UPLOADER_CLIENT_USERNAME | Имя пользователя IAM | |
392
+ | RDM_UPLOADER_CLIENT_PASSWORD | Пароль пользователя IAM | |
393
+ | RDM_UPLOADER_CLIENT_ORGANIZATION_OGRN | ОГРН организации, в рамках которой развёрнута Витрина | |
394
+ | RDM_UPLOADER_CLIENT_INSTALLATION_NAME | Имя инсталляции в целевой Витрине | |
395
+ | RDM_UPLOADER_CLIENT_INSTALLATION_ID | Идентификатор инсталляции в целевой Витрине | |
396
+ | RDM_COLLECT_LOG_DIR | Директория логов сбора данных, доступных для скачивания | |
397
+ | RDM_EXPORT_LOG_DIR | Директория логов экспорта данных, доступных для скачивания | |
398
+ | RDM_UPLOAD_LOG_DIR | Директория логов отправки данных в витрину, доступных для скачивания | |
399
+ | RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA | Включение зачистки устаревших данных моделей РВД | False |
400
+ | RDM_ENABLE_CLEANUP_SERVICE_OUTDATED_DATA | Включение зачистки устаревших данных сервисных моделей РВД | False |
401
+ | RDM_CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE | Размер чанка записей зачистки устаревших данных моделей РВД | 10000 |
402
+ | RDM_CLEANUP_MODELS_OUTDATED_DATA_POOL_SIZE | Количество подключений к БД для зачистки устаревших данных моделей РВД | 10 |
384
403
 
385
404
 
386
405
  - В дефолтный конфиг проекта необходимо добавить:
@@ -395,6 +414,12 @@ INSTALLED_APPS = (
395
414
  EXPORT_CHUNK_SIZE = 500
396
415
  # Количество записей моделей ЭШ обрабатываемых за одну итерацию сбора данных
397
416
  COLLECT_CHUNK_SIZE = 500
417
+ # Для тестирования. Лимит обрабатываемых чанков при сборе и включенном DEBUG=True
418
+ COLLECT_CHUNKS_LIMIT = 0
419
+ # Для тестирования. Лимит обрабатываемых чанков при экспорте и включенном DEBUG=True
420
+ EXPORT_CHUNKS_LIMIT = 0
421
+ # Размер батча для bulk_create операций при сборе данных РВД
422
+ COLLECT_PROGRESS_BATCH_SIZE = 10000
398
423
  # Количество не экспортированных записей моделей обрабатываемых за одну итерацию обновления поля modified
399
424
  UPDATE_NON_EXPORTED_CHUNK_SIZE = 5000
400
425
  # Объем очереди файлов в витрину (в байтах) - по умолчанию 512 Мбайт.
@@ -482,6 +507,8 @@ INSTALLED_APPS = (
482
507
  [rdm_cleanup_outdated_data]
483
508
  # Включить зачистку устаревших данных моделей РВД
484
509
  ENABLE_CLEANUP_MODELS_OUTDATED_DATA = False
510
+ # Включить зачистку устаревших данных сервисных моделей РВД
511
+ ENABLE_CLEANUP_SERVICE_OUTDATED_DATA = False
485
512
  # Размер чанка записей проверки устаревших данных моделей РВД
486
513
  CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE = 10000
487
514
  # Количество подключений к БД для проверки устаревших данных моделей РВД
@@ -9,7 +9,7 @@ edu_rdm_integration/collect_and_export_data/migrations/0002_auto_20250204_1413.p
9
9
  edu_rdm_integration/collect_and_export_data/migrations/0003_auto_20250704_0725.py,sha256=IcBTuQWp7D_mP1chCgTXUIJcm5nf2Scdt3ZJgjCgvgI,1108
10
10
  edu_rdm_integration/collect_and_export_data/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  edu_rdm_integration/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
- edu_rdm_integration/core/consts.py,sha256=4dklnQS7rtuYJu0Hh7oX1Z9dc72pbIWZl9gXMUvc4rI,1526
12
+ edu_rdm_integration/core/consts.py,sha256=DhYEd6DiU9_4eDGH2mTL3sowkubHeEkVi11QSfGj74o,1679
13
13
  edu_rdm_integration/core/enums.py,sha256=HHZxX2vIe-c4SY6BIWgOg-Tu-_LVJjltFZ1lI9YITLw,3824
14
14
  edu_rdm_integration/core/helpers.py,sha256=Fe2AyI8kHAfcnXAn2I_SyNraI5uAjNzHObUNtZtum-g,12183
15
15
  edu_rdm_integration/core/mapping.py,sha256=1B6TsC4Os9wiM8L8BChnCNv_iWqjeWu3bdDsqKVsId0,616
@@ -48,7 +48,7 @@ edu_rdm_integration/pipelines/cleanup_outdated_data/__init__.py,sha256=47DEQpj8H
48
48
  edu_rdm_integration/pipelines/cleanup_outdated_data/apps.py,sha256=tyTlr1Wt574eby2vIV68FMm7SPFSZKYw6zNkD8x6COE,507
49
49
  edu_rdm_integration/pipelines/cleanup_outdated_data/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
50
  edu_rdm_integration/pipelines/cleanup_outdated_data/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
- edu_rdm_integration/pipelines/cleanup_outdated_data/management/commands/rdm_cleanup_outdated_data.py,sha256=JsmMCv9dQpy0flyJr2gviG0A57FG7JcLAHKO-If_VGY,2909
51
+ edu_rdm_integration/pipelines/cleanup_outdated_data/management/commands/rdm_cleanup_outdated_data.py,sha256=DJU_T6Ezz48Rq6OoScjZ3ZyfHn6drlUo4_Wdj2OGAPY,4500
52
52
  edu_rdm_integration/pipelines/transfer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
53
  edu_rdm_integration/pipelines/transfer/actions.py,sha256=e94NVtTcFIqBBTZ9vbSfh_0oXUWK9ZOx2pDYnIePJVc,5920
54
54
  edu_rdm_integration/pipelines/transfer/app_meta.py,sha256=jshfepDDJrbCACtJBJBPuidAVJ6rcziQiet27wqOIjk,373
@@ -56,7 +56,7 @@ edu_rdm_integration/pipelines/transfer/apps.py,sha256=mf8voFbMU3FWOwbyisgUUrnUBp
56
56
  edu_rdm_integration/pipelines/transfer/enums.py,sha256=7eaCcR_SQD_xz3DXywwZivxfcn0s2BsAddS9LsXlujE,787
57
57
  edu_rdm_integration/pipelines/transfer/mixins.py,sha256=tG-04PHYFWZBcVKDx3IejRJq4DsG3WSYeeGg_AnJTR0,4972
58
58
  edu_rdm_integration/pipelines/transfer/models.py,sha256=_ZxNVhTntJe07K5P56mzp_sfhNykn-_Zbe7xtktmhNY,1584
59
- edu_rdm_integration/pipelines/transfer/tasks.py,sha256=6jSJl4aNugKG45Sxb2cWAtS1R_y8LmLT7PHtRZ0GZrk,10936
59
+ edu_rdm_integration/pipelines/transfer/tasks.py,sha256=r2Y12DyIy3xNBqSKswFMSFA_3qwvU64E03y2WvEpVtQ,11089
60
60
  edu_rdm_integration/pipelines/transfer/ui.py,sha256=GLRy_oWO50ZbWcb9vnhP5nVuS8pImtw9APyV4tgm7sg,2543
61
61
  edu_rdm_integration/pipelines/transfer/migrations/0001_initial.py,sha256=js-Ap6xnw0yBN7E9k7gh9dz-jZkNyDUwmMGftwC55EQ,2322
62
62
  edu_rdm_integration/pipelines/transfer/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -65,7 +65,7 @@ edu_rdm_integration/rdm_entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRk
65
65
  edu_rdm_integration/rdm_entities/apps.py,sha256=2rg5IqBjzpvNsjK-1lnrknxH002XYTDCcrEcARCV-ms,302
66
66
  edu_rdm_integration/rdm_entities/entities.py,sha256=zfIVpXwiNWEeotiS17xZtijSXe3rx6utCFhZ18fGPhM,14850
67
67
  edu_rdm_integration/rdm_entities/mixins.py,sha256=x-IMk7iZuLyvOsVvZBPHu9EbxuCq7D9g2PliuR6yK8A,3088
68
- edu_rdm_integration/rdm_entities/models.py,sha256=vGDQTS-iLnt-THRd89s24uzSXR4nBHLeEdWdPDxf2r4,5759
68
+ edu_rdm_integration/rdm_entities/models.py,sha256=7jJ5DUj1Xn-OEplIvyItxrcDmc0sp08aa3BOgk1guB0,6045
69
69
  edu_rdm_integration/rdm_entities/utils.py,sha256=zpVmqcJVYjQSHot9ZrVufDeSECP9kosgTmB8ydFDG8w,1095
70
70
  edu_rdm_integration/rdm_entities/migrations/0001_initial.py,sha256=TL8zkmtbFdwdKkFy8wn5SC7dpLBFlS6s8PBp1YBPAog,1664
71
71
  edu_rdm_integration/rdm_entities/migrations/0002_rename_regionaldatamartentityenum_rdmentityenum.py,sha256=CJmQp5TPAL66DBzho01tnWDrCa1fOmEI4AdaS0UbAB0,510
@@ -73,19 +73,20 @@ edu_rdm_integration/rdm_entities/migrations/__init__.py,sha256=47DEQpj8HBSa-_TIm
73
73
  edu_rdm_integration/rdm_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
74
  edu_rdm_integration/rdm_models/apps.py,sha256=JJwHzCXYVe5cEhvDg61KkrLoRT_ZbJCIAWEM2lOQyHU,288
75
75
  edu_rdm_integration/rdm_models/mixins.py,sha256=h-xo2KckTf2pgetggQgo77FMVShdWfgcKNBkz5ct7sI,2308
76
- edu_rdm_integration/rdm_models/models.py,sha256=vLJkOGP0opHoWbt-0GfrPz1CkQL9H2BsJbhzuTNHNJg,13235
76
+ edu_rdm_integration/rdm_models/models.py,sha256=FqJ72Fmx_OIZhBybu_cqxYLAnQ6-6oI8mnMbyjBZeaY,14067
77
77
  edu_rdm_integration/rdm_models/utils.py,sha256=Xk0HEpFEGAndoAD2TdubK4SI_dW2BvchQ7UeMEfvpfQ,631
78
78
  edu_rdm_integration/rdm_models/migrations/0001_initial.py,sha256=qXgObuG2nfOLEnGJBoBqmq30TXetOv21UZU4trMV7mQ,1529
79
79
  edu_rdm_integration/rdm_models/migrations/0002_rename_regionaldatamartmodelenum_rdmmodelenum.py,sha256=hNTLriOc9r9WEVKahJURA3yXhZ3ivbwJJ_HaMC46PpI,451
80
80
  edu_rdm_integration/rdm_models/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
81
  edu_rdm_integration/stages/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
+ edu_rdm_integration/stages/utils.py,sha256=Gm07aspzt8jTN8v2pJRxyTCUs-kGeV-JzrxWunUgaf4,2253
82
83
  edu_rdm_integration/stages/collect_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
84
  edu_rdm_integration/stages/collect_data/apps.py,sha256=PhrxzAMXvzXajSlgwLudAgasVjh9IFS5M7a7pGbEKC0,339
84
85
  edu_rdm_integration/stages/collect_data/consts.py,sha256=tzaK9oxzdMRq3oTEocPz4umoXSJWUtFc7YhyXucCNbs,127
85
86
  edu_rdm_integration/stages/collect_data/generators.py,sha256=azl0s_xJp6Mg2ARNLKd4o4ikVcarUN3ysb4xm8pYlyY,12434
86
87
  edu_rdm_integration/stages/collect_data/helpers.py,sha256=xy8z9yJKEMjNUPNhrsRRtnYy6RVbwDoD5zSDAX7y_6U,5260
87
88
  edu_rdm_integration/stages/collect_data/mixins.py,sha256=izioaiPC26BDODgi_Lhy33IaH207945tGjFnbFLMQyI,2072
88
- edu_rdm_integration/stages/collect_data/models.py,sha256=WHGDg-qFyR88fryaD9joxT3bb0tj1yOYaH0XnbGRvAE,9424
89
+ edu_rdm_integration/stages/collect_data/models.py,sha256=PkBTXIcqv69eqtd084bKad1FtkJF6t0q8t7fmzEQYeY,9700
89
90
  edu_rdm_integration/stages/collect_data/operations.py,sha256=K-St1Avwq093VU1fKzYB19vHRthK_DX6nGPO6PYAipk,11883
90
91
  edu_rdm_integration/stages/collect_data/tests.py,sha256=OqxCSdSAOQm92WcBQRF2s0o3VYf-N4e60xpJ1TGdKO8,5550
91
92
  edu_rdm_integration/stages/collect_data/function_templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -112,7 +113,7 @@ edu_rdm_integration/stages/collect_data/functions/base/functions.py,sha256=s-Jdk
112
113
  edu_rdm_integration/stages/collect_data/functions/base/helpers.py,sha256=738rlcRnKONoYo-DzzAAWOB0QToKKkFrLhzhypObboI,932
113
114
  edu_rdm_integration/stages/collect_data/functions/base/managers.py,sha256=srlaOnALgQoC6Y_5Vk9fD1DxkbufCZaFRqCMrg8JmHM,6120
114
115
  edu_rdm_integration/stages/collect_data/functions/base/mixins.py,sha256=j06of4GO61kzKoJAiaT_fBtC1ok7hfaTkRVKqiqtdYI,18234
115
- edu_rdm_integration/stages/collect_data/functions/base/runners.py,sha256=rR0bkxwk7iU2ENUamVKfs3MwmPO8oV1wkXLchh4sGEg,1525
116
+ edu_rdm_integration/stages/collect_data/functions/base/runners.py,sha256=fPmgAxMq1yVhBXrbAfLOBZA740yKvczy9gi6BZRSw1o,1719
116
117
  edu_rdm_integration/stages/collect_data/functions/calculated/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
117
118
  edu_rdm_integration/stages/collect_data/functions/calculated/strategies.py,sha256=K1xKY-nNjPW3GAYkNUfwSS3BhCaYJlBXk_3FpVALKYI,7424
118
119
  edu_rdm_integration/stages/collect_data/functions/calculated/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -154,20 +155,22 @@ edu_rdm_integration/stages/collect_data/migrations/0001_initial.py,sha256=gujp1W
154
155
  edu_rdm_integration/stages/collect_data/migrations/0002_edurdmcollectdatacommandprogress.py,sha256=TMePcN2Y1wuT1ZKcXgsFTClGWNsf82Ut_mDsPE0BR8Q,4841
155
156
  edu_rdm_integration/stages/collect_data/migrations/0003_auto_20250704_0810.py,sha256=5JkymsRshIKN3az4bbpL_xQxjs6XiknwwCRISS7c2Ts,1079
156
157
  edu_rdm_integration/stages/collect_data/migrations/0004_auto_20250704_0825.py,sha256=B6SUsxlhQvWoD8lFGNwaMUCFDzhPj91bsMdmAcSuEDg,1379
158
+ edu_rdm_integration/stages/collect_data/migrations/0005_alter_rdmcollectingdatasubstage_previous.py,sha256=Q7OBeKXMRf1W_BHcz99UXYjvnav85vYdjoyiDitSXnk,670
159
+ edu_rdm_integration/stages/collect_data/migrations/0006_fix_fk_constraints.py,sha256=H58FBhu43KHy1aw7whdA-1ZktIXIWKwp4Nx3tpLz2nI,2284
157
160
  edu_rdm_integration/stages/collect_data/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
158
161
  edu_rdm_integration/stages/collect_data/registry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
159
- edu_rdm_integration/stages/collect_data/registry/actions.py,sha256=ZMk8H1adcI2ycQ0a0ECBVRNKrkeYDc64UEHKV8drpUU,10260
162
+ edu_rdm_integration/stages/collect_data/registry/actions.py,sha256=-3l944Csa5HCbrPqSOVwkVquoTBaju6BRtGOxF-Mnxc,10171
160
163
  edu_rdm_integration/stages/collect_data/registry/apps.py,sha256=K5f97YXKMmdM7m33qgQYvJjrA8_eGAJ4VWyuRjJ0gwQ,439
161
164
  edu_rdm_integration/stages/collect_data/registry/ui.py,sha256=pw13DAASxqnX_E5D4RG9CywtnQKQeljXHief7mojVgk,8398
162
- edu_rdm_integration/stages/collect_data/registry/templates/ui-js/collect-command-window.js,sha256=QfxVSAA0282-41K0XGtyPa9WPzpoX_uClke8pHdAzBo,3112
163
- edu_rdm_integration/stages/collect_data/registry/templates/ui-js/validators.js,sha256=8A07RgqRs71UuyHNc0HA_isGZL5-W9iLm0O-eC2JFT8,2021
165
+ edu_rdm_integration/stages/collect_data/registry/templates/ui-js/collect-command-window.js,sha256=AZsvitxQyK1FzCH_naHzZ9S-18mKU2otoqeYNa6wqH8,2777
166
+ edu_rdm_integration/stages/collect_data/registry/templates/ui-js/validators.js,sha256=udLEG1MwycYYgSrYiQr7Bqg7meNoetH8rF4JSRyrUdk,1524
164
167
  edu_rdm_integration/stages/export_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
168
  edu_rdm_integration/stages/export_data/apps.py,sha256=TU6AaMZGQE2oHVwKgtUDzFplaVasb2tMIurhkhwkxZo,406
166
169
  edu_rdm_integration/stages/export_data/consts.py,sha256=ZEi1kXMs-54KFKxkyGIQVwZ4d8OrOF_vLFQIjjWdSPQ,441
167
170
  edu_rdm_integration/stages/export_data/generators.py,sha256=XsTGcKm0oDgE3fUVDxRMkNFriOeuPDBAWi32nx5ASuc,3974
168
171
  edu_rdm_integration/stages/export_data/helpers.py,sha256=uBl85AWS-V0usHeLf7VeAsy0ywvqXL_zT1Kgho-MRTM,6537
169
172
  edu_rdm_integration/stages/export_data/mixins.py,sha256=YCr5aNcZmDx07JIr-vMietQQ3sZ82caWc7SWOMfdSjY,1772
170
- edu_rdm_integration/stages/export_data/models.py,sha256=amPrzRzhnX0L7TTnQJH78tmJXCN6_HnK2mt9I9kqhVI,12024
173
+ edu_rdm_integration/stages/export_data/models.py,sha256=8ewAWI9daAP_pxpq92Y-9m9zuxTp-pIveD_4Rsj1uaw,12426
171
174
  edu_rdm_integration/stages/export_data/operations.py,sha256=g8rj4TaFnkRkaBD4omckBTGwsTlYpuBydOwwxY9hEiI,13188
172
175
  edu_rdm_integration/stages/export_data/strategies.py,sha256=93pRhUOLL_q4VbWTY3CtC5J8rgPPO2EYn0fJk_oLuLk,6520
173
176
  edu_rdm_integration/stages/export_data/function_templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -198,7 +201,7 @@ edu_rdm_integration/stages/export_data/functions/base/managers.py,sha256=4d-68lv
198
201
  edu_rdm_integration/stages/export_data/functions/base/presenters.py,sha256=DiraTz-aYLzdbz2JKDPBVPPNJpWW376DCBuJwvQQ9bQ,377
199
202
  edu_rdm_integration/stages/export_data/functions/base/requests.py,sha256=kZkjuNBvAUraNFN0nxMBD4yHMpN3I0qKnLgJJthq1Ug,2342
200
203
  edu_rdm_integration/stages/export_data/functions/base/results.py,sha256=GGVrgemlyyRmyjxovC6jRTRkJSoed-gfBu9LVknRxgs,505
201
- edu_rdm_integration/stages/export_data/functions/base/runners.py,sha256=Mc_kQrzaM6jaoSjWev0Dyc0adsSMtcZ1aHsqeXoEARs,2423
204
+ edu_rdm_integration/stages/export_data/functions/base/runners.py,sha256=jpf4oplP6CyJNGxZpNCDX_pw1oh8ZSgdTGuK6NLK0Fc,2660
202
205
  edu_rdm_integration/stages/export_data/functions/base/strings.py,sha256=-k9dex8A7hCpkzUkudVkKRAbNRuuqog2hYl2xmibl8I,181
203
206
  edu_rdm_integration/stages/export_data/functions/base/tests.py,sha256=QYgprO30EakW0rAhV1NhTIUHB1fvzoQQaQRe9B-ncmc,5842
204
207
  edu_rdm_integration/stages/export_data/functions/base/validators.py,sha256=THOLA-9fG5-187O9UkoUgTlJ_7gLLmM9adhEKao1mg8,883
@@ -209,12 +212,14 @@ edu_rdm_integration/stages/export_data/management/commands/export_entities_data.
209
212
  edu_rdm_integration/stages/export_data/management/commands/export_latest_entities_data.py,sha256=eYjBs_tZxcUAIseCyvsy5Jk-8k9Gm3xrG2dCuWNnrEs,1163
210
213
  edu_rdm_integration/stages/export_data/migrations/0001_initial.py,sha256=h7HIT-QkWONCzIergDp2c861Lw_-f9TZQ5FPIREeHTk,16864
211
214
  edu_rdm_integration/stages/export_data/migrations/0002_auto_20250704_0810.py,sha256=yjGlH25Mke2_VAe188LEkWZ04Xy1qenai7D2zOA-ecY,1558
215
+ edu_rdm_integration/stages/export_data/migrations/0003_alter_rdmexportingdatasubstageattachment_exporting_data_sub_stage.py,sha256=6nJSgYh5ssP002y3tyLfLJXgzYqdrqFsufQ0iFqts7k,694
216
+ edu_rdm_integration/stages/export_data/migrations/0004_fix_fk_constraints.py,sha256=F77WlV_UmT2FOWYPWsukfZ_ZqHcwbinIRbQmZJrjS34,3025
212
217
  edu_rdm_integration/stages/export_data/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
213
218
  edu_rdm_integration/stages/export_data/registry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
214
- edu_rdm_integration/stages/export_data/registry/actions.py,sha256=C5qLwGQeVd9ddOKo2zBJKBLtYn5x_8XV2MaTjK-SGFM,10940
219
+ edu_rdm_integration/stages/export_data/registry/actions.py,sha256=iKolkD3h6lxx4a2agDeyMVSL_KImN6PI_kjQ_5knWu4,10930
215
220
  edu_rdm_integration/stages/export_data/registry/apps.py,sha256=71DtJQ2ULt8_3CnTu2VAfT5ABBrDNY1nKTmZ6UtvIpw,448
216
221
  edu_rdm_integration/stages/export_data/registry/ui.py,sha256=0kWWfOmtTyN4SUO9dGUcEz0wgOPA111jHoWw3_LNPqI,6238
217
- edu_rdm_integration/stages/export_data/registry/templates/ui-js/create-export-command-win.js,sha256=g0dpYsvd_6VfRU4nRv3tNK-0wtMND_VurQRT04ShJjk,1341
222
+ edu_rdm_integration/stages/export_data/registry/templates/ui-js/create-export-command-win.js,sha256=H_bjx5UVjlj1IAm9wZ8AyoukxMXV8W3RFJHwCojng3E,795
218
223
  edu_rdm_integration/stages/export_data/registry/templates/ui-js/stage_for_export.js,sha256=329OZIpiKHlQ-i8JStjBLXtouIMKuJHbycArUGSskfk,737
219
224
  edu_rdm_integration/stages/service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
220
225
  edu_rdm_integration/stages/service/apps.py,sha256=lgCG4_kpwgfDWh6y-GNuUwz5SOjkP7oS8kkUyVUcNRg,648
@@ -223,26 +228,37 @@ edu_rdm_integration/stages/service/model_outdated_data/__init__.py,sha256=47DEQp
223
228
  edu_rdm_integration/stages/service/model_outdated_data/cleaners.py,sha256=enlEPTj5_elo-vQTXfq0ar8i1aiN4BzfZQLXNGBsZ68,16795
224
229
  edu_rdm_integration/stages/service/model_outdated_data/managers.py,sha256=0LNjvycTtSMGsN37U-otlPL_vlYJKZXtNXxwkseK1wA,2353
225
230
  edu_rdm_integration/stages/service/service_outdated_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
231
+ edu_rdm_integration/stages/service/service_outdated_data/managers.py,sha256=zKGQWIvv1go5OlBIkgBDLNyEKkkHvm0qKFfCatddd68,2715
232
+ edu_rdm_integration/stages/service/service_outdated_data/cleaners/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
233
+ edu_rdm_integration/stages/service/service_outdated_data/cleaners/base.py,sha256=7h6eSex_BakFz3jQiJ7R552SLOb9CPn6Z8xG__Vm_xg,10479
234
+ edu_rdm_integration/stages/service/service_outdated_data/cleaners/collect_data.py,sha256=hVNBRIaYoMw9Ucg-3P4DFgPkN5HS9ltJoT8WBzzA-ss,4695
235
+ edu_rdm_integration/stages/service/service_outdated_data/cleaners/consts.py,sha256=wVBq4PFm1N-NPHysCiR6KRgkbaeejkc9jruWY0ynGds,21
236
+ edu_rdm_integration/stages/service/service_outdated_data/cleaners/export_data.py,sha256=lC-v1kIGw_wbBM5ytU8lKKCcNgnnXKZoiFBSSfEiLI0,7118
237
+ edu_rdm_integration/stages/service/service_outdated_data/cleaners/upload_data.py,sha256=a8oJ8Sg1eLZf1NemehREkJsvdtmyLwtOIuN5iXpzSb4,2846
226
238
  edu_rdm_integration/stages/upload_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
227
239
  edu_rdm_integration/stages/upload_data/apps.py,sha256=aFhVPK-65b35CGKoAeAgQ0mm3STaWtZg7rqk3eL-b7s,620
228
240
  edu_rdm_integration/stages/upload_data/consts.py,sha256=yTygXxS5dBRCvrE7Q3D0jEGSC5apIKvVAAViDM8QcKA,223
229
241
  edu_rdm_integration/stages/upload_data/dataclasses.py,sha256=zwxlED6yEeMStfc-Y6pvdY7xF-530qbO0HBWfwneeI8,261
230
- edu_rdm_integration/stages/upload_data/enums.py,sha256=uGRqcflf6moPWfFa8KKbeSY2y88-AegAcRJKlQ1PA_Y,453
231
- edu_rdm_integration/stages/upload_data/export_managers.py,sha256=DYHX0LwB6RkRqOEaB5EIWqbSJqjaUfR09AjRTjI2CR4,13646
242
+ edu_rdm_integration/stages/upload_data/enums.py,sha256=MisSJm2kDbW245IaJl5f5if45RCvotPg_8RdL6PQwPg,512
243
+ edu_rdm_integration/stages/upload_data/export_managers.py,sha256=OnycW8DaDUcLAyG-JbUGUymWb9eBzctqpl2kgwT5NuY,13792
232
244
  edu_rdm_integration/stages/upload_data/helpers.py,sha256=lCvM8QsERXRXP9rcpgaSQOKUkvi3bxkeHEC_zZruQy4,6183
233
- edu_rdm_integration/stages/upload_data/models.py,sha256=fUh_QeAsRajZYweefdDmlAaZh6Q25TSn8e8M3autrKE,5166
245
+ edu_rdm_integration/stages/upload_data/models.py,sha256=4XiodbnbK2MRBi8wTfU0beZQW3dLPT4_5NAh9DM-9gw,5220
234
246
  edu_rdm_integration/stages/upload_data/operations.py,sha256=CVQYaucerJbOAE3JDO05FaX4Bz9hBMKBXYqJohXKZpI,6462
235
- edu_rdm_integration/stages/upload_data/queues.py,sha256=MbDnltQLjTCXLnNQVO0KA4SaAzyU8xO51CRid6Cle4g,6130
236
- edu_rdm_integration/stages/upload_data/tasks.py,sha256=SYoQjL4sl0W0yOBFczlnQW-N4YcFiFgdMlEQUDO7IsQ,3573
247
+ edu_rdm_integration/stages/upload_data/queues.py,sha256=9PcIZHHh--OslhA0gPLh6yyS7jaxpa5cSFRaJ85rUC4,7851
248
+ edu_rdm_integration/stages/upload_data/tasks.py,sha256=-2CqrlNY17l6cE0VoBrWJKJnYD-2EZid0GvL9IGfVE4,3580
237
249
  edu_rdm_integration/stages/upload_data/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
238
250
  edu_rdm_integration/stages/upload_data/management/base.py,sha256=cXGIXvb1K5Q6xPM7S4W0gqGZO9dUao_ix_hyVJ6bkfQ,4402
239
251
  edu_rdm_integration/stages/upload_data/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
240
252
  edu_rdm_integration/stages/upload_data/management/commands/async_fix_attachment_size.py,sha256=50Bcy4TXg-xrBDBCMmKoxXl6chy2XibJlaD4ij2GCvY,9741
241
253
  edu_rdm_integration/stages/upload_data/management/commands/check_upload_status.py,sha256=FQgt41BDSWrXBdHas6vwCB0dx0sSS7MhGYxPd95sEL4,3951
254
+ edu_rdm_integration/stages/upload_data/management/commands/custom_check_upload_status.py,sha256=Ka1Wf_wb_gh1Y7Ruf8McL21mXUMt1IdLsi9UfRbg70M,2271
255
+ edu_rdm_integration/stages/upload_data/management/commands/custom_upload_files.py,sha256=gih12QHVu4KkBa1qy2P9ZtH4c6Tpd7oTGTIqOjyZlIc,1565
242
256
  edu_rdm_integration/stages/upload_data/management/commands/datamart_status.py,sha256=aKsxjSG2EiSuetyh9mDVfhKU3ZZAAS8GCAXbOv8lQaE,1262
243
257
  edu_rdm_integration/stages/upload_data/management/commands/datamart_upload.py,sha256=VF94eqO3nIbvhPFwtUlYLAMwPXEU0uGt9m5xnIjLu68,1525
244
258
  edu_rdm_integration/stages/upload_data/migrations/0001_initial.py,sha256=4dRroCI8ZxBuyRJC81si-LVAfzLMn3mYDccy48gUzCo,8080
245
259
  edu_rdm_integration/stages/upload_data/migrations/0002_auto_20250704_0810.py,sha256=OLXfvs_x_S9W4wS6GKikNaaLUmI4h-LyLBdOs3K_e9I,818
260
+ edu_rdm_integration/stages/upload_data/migrations/0003_auto_20251006_1417.py,sha256=C32q9tAHXWgZjCH05yxON7fXELBR24oor1Xsf7Ms2Wc,1081
261
+ edu_rdm_integration/stages/upload_data/migrations/0004_fix_fk_constraints.py,sha256=4LQ889I-3XRpXw9EyCN9SMsw3M12Dl39oGezrZUf62s,3243
246
262
  edu_rdm_integration/stages/upload_data/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
247
263
  edu_rdm_integration/stages/upload_data/uploader_log/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
248
264
  edu_rdm_integration/stages/upload_data/uploader_log/actions.py,sha256=stXHS_CB93AtnuToimsnsbl0gqOn_DbPk6jnCwJs9NQ,8030
@@ -254,8 +270,9 @@ edu_rdm_integration/stages/upload_data/uploader_log/ui.py,sha256=mU3XA9zVKHGqzNk
254
270
  edu_rdm_integration/stages/upload_data/uploader_log/migrations/0001_initial.py,sha256=r5oOB7DBK9-mfuqPAgjXUJY5-hEcmMdILCwDTpaLnBc,753
255
271
  edu_rdm_integration/stages/upload_data/uploader_log/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
256
272
  edu_rdm_integration/stages/upload_data/uploader_log/templates/ui-js/object-grid-buttons.js,sha256=2xyGe0wdVokM0RhpzRzcRvJPBkBmPe3SlZry4oP4Nzs,6201
257
- edu_rdm_integration-3.21.0.dist-info/licenses/LICENSE,sha256=uw43Gjjj-1vXWCItfSrNDpbejnOwZMrNerUh8oWbq8Q,3458
258
- edu_rdm_integration-3.21.0.dist-info/METADATA,sha256=kCdgMvokM8bolCEYgWhQYIDpWFV3hkfWK4MXL65gsHA,42284
259
- edu_rdm_integration-3.21.0.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
260
- edu_rdm_integration-3.21.0.dist-info/top_level.txt,sha256=nRJV0O14UtNE-jGIYG03sohgFnZClvf57H5m6VBXe9Y,20
261
- edu_rdm_integration-3.21.0.dist-info/RECORD,,
273
+ edu_rdm_integration/templates/ui-js/collect-and-export-validators.js,sha256=NMjuFzc7sCK8EKbsrT7p-7Tvxa3AcNSRdKHQnlTK2v8,1967
274
+ edu_rdm_integration-3.23.0.dist-info/licenses/LICENSE,sha256=uw43Gjjj-1vXWCItfSrNDpbejnOwZMrNerUh8oWbq8Q,3458
275
+ edu_rdm_integration-3.23.0.dist-info/METADATA,sha256=30OMXuc9eQ9MpQ3S9zTNx9cDiJY7kYWXNtXCEoNuXT8,45973
276
+ edu_rdm_integration-3.23.0.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
277
+ edu_rdm_integration-3.23.0.dist-info/top_level.txt,sha256=nRJV0O14UtNE-jGIYG03sohgFnZClvf57H5m6VBXe9Y,20
278
+ edu_rdm_integration-3.23.0.dist-info/RECORD,,