Skip to main content

AIO-клиент

Project description

AIO-client

Пакет aio-client предназначен для простой и быстрой интеграции пользовательского Django-проекта с подсистемой взаимодействия со СМЭВ 3(AIO).# История изменений

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

Формат основан на Keep a Changelog и проект следует Семантическому версионированию.

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

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

Добавлено

Изменено

Исправлено

Удалено

[1.14.0] - 2025-12-12

В файл aio_client.yaml добавлена необязательная настройка admin_list_per_page в ключе "common", отвечающая за пагинацию на страницах.

  common:
    ...
    admin_list_per_page: 25  

По умолчанию - стандартная из django 100 записей. Данная настройка применена к страницам моделей aio_client.

Название настройки в aio_client.yaml Описание Значение по умолчанию
admin_list_per_page Число записей на одной странице в админке aio_client 100

Добавлено

  • EDUKNDG-15850 MINOR В файл aio_client.yaml добавлена необязательная настройка admin_list_per_page в ключе "common", отвечающая за пагинацию на страницах.

[1.13.0] - 2025-12-04

Добавлена функция get_request для получения заявки к РИС по message_id

Изменено

  • EDUSCHL-24563 MINOR Добавлена функция get_request

[1.12.0] - 2025-10-31

Для периодических задач добавлена дефолтная очередь periodic_task_aio.

После поднятия версии необходимо создать очередь на продукте, если её еще нет!

Добавлена возможность отключения получения ответов от aio-сервера, когда РИС - потребитель (для тестирования/отладки).

Добавлены новые настройки:

Название настройки в settings Описание Значение по умолчанию
DO_NOT_GET_RESPONSE_FROM_SERVER Отключение получения ответов от aio-сервера (для тестирования/отладки) False

В settings.py:

  • Добавить значение по умолчанию:

    PROJECT_DEFAULT_CONFIG.update({
        ...
        ('aio_client', 'DO_NOT_GET_RESPONSE_FROM_SERVER'): False,
        ...
    })
    
  • Получить значение настройки из конфигурационного файла:

    # Параметр настройки запросов в aio-сервер при получении ответов из очереди СМЭВ
    DO_NOT_GET_RESPONSE_FROM_SERVER = conf.get_bool('aio_client', 'DO_NOT_GET_RESPONSE_FROM_SERVER')
    

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

[aio_client]
# Отключение получения ответов от aio-сервера, когда РИС - потребитель (для тестирования/отладки)
DO_NOT_GET_RESPONSE_FROM_SERVER = False

Добавлено

  • EDUCLLG-8787 MINOR Добавлен параметр DO_NOT_GET_RESPONSE_FROM_SERVER для отключения получения ответов от aio-сервера в методе consumer_get_requests (используется для тестирования и отладки).
  • EDUKNDG-15828 MINOR Для периодических задач добавлена дефолтная очередь periodic_task_aio.

[1.11.0] - 2025-07-29

Добавлена поддержка django 4.1

Добавлено

[1.10.0] - 2025-07-10

У моделей добавлено ограничение уникальности для поля message_id. У моделей убрано ограничение уникальности для поля origin_message_id.

Изменено

  • EDUSMEVTLS-642 MINOR Добавлено ограничение уникальности для поля message_id MINOR Убрано ограничение уникальности для поля origin_message_id

[1.9.2] - 2025-04-01

Убрана фиксация ошибок в Sentry засыпающих его сообщениями. Логика проверки будет пересматриваться в рамках задачи EDUSMEVTLS-603.

Удалено

  • EDUSMEVTLS-603 PATCH Убрана фиксация ошибок создания GetConsumerResponse и GetConsumerReceipt в Sentry.

1.9.1 (2025-02-21)

  • (EDUDEVOPS-17) Был добавлен пакет sentry-sdk, который заменяет старый механизм логирования. Реализована обработка переключения логирования с raven на sentry-sdk.

1.9.0 (2025-02-05)

  • (EDUKNDG-15190) Изменён тип поля attachments с django.contrib.postgres.fields.JSONField (поддержка до Django 4.0.) на django.db.models.JSONField (поддержка с Django 3.1.0).

1.8.9 (2024-10-23)

  • (EDUCLLG-8288) Добавлены функции get_requests_by_message_types и get_responses_by_message_types как аналоги соответственно get_requests и get_responses для получения запросов/ответов с ограниченным некой коллекцией message_type;
  • (EDUCLLG-8288) Добавлено поле request_id в list_select_related админки для запросов/ответов СМЭВ в целях ускорения работы.

1.8.8 (2024-07-29)

  • (EDUSCHL-21704) удаление поиска в панели администратора по значению не существующему в моделях GetConsumerReceipt, и GetProviderReceipt.

1.8.7 (2024-05-20)

  • (EDUSCHL-20216) Повышена максимальная версия пакета зависимости requests

1.8.6 (2024-04-09)

  • (EDUSCHL-21702) Удален вывод в sentry ошибки сохранения GetProviderReceipt и GetProviderRequest

1.8.5 (2023-12-28)

  • (EDUCLLG-8117) Изменен пример aio-сервера в примере конфига и добавлена отправка сигнала через robust_sender, если включен режим отладки
  • Формат CHANGELOG.md приведен к принятому Markdown-стандарту (убраны ++++++++++++++++++)

1.8.4 (2023-10-05)

  • (EDUSMEVTLS-524) Доработка поиска в панели администратора по значению в поле "Бизнес-данные запроса" (в бд поле body)

  • (EDUCLLG-7980) Добавление README.md, смена формата CHANGELOG на md

1.8.3 (2023-08-25)

  • (EDUSMEVTLS-512) Доработка уникальности сообщений по origin_message_id.

1.8.2 (2022-09-12)

  • (EDUSMEVTLS-405) Реализована проверка уникальности origin_message_id.
  • (EDUSCHL-17922) Изменена сортировка в aio_client.provider.api.get_requests, чтобы сначала обрабатывались более ранние заявки.

1.8.1 (2022-04-22)

  • Добавлено логирование ошибок при отправке запроса в функции post_request
  • Исправлена ошибка: при получении запросов и ответов могли стать "отправленными" записи не возвращаемые из функций

1.8.0 (2021-07-01)

  • Удаление полученных сообщений одним запросом DELETE в АИО (для версии aio_server >=1.4.0)
  • Добавление кодировки в файлы миграций
  • Изменение MessageID для потребителя только если сообщение создано раньше, чем день назад
  • Добавление кодировки

1.7.1 (2021-06-17)

  • Таймаут добавлен только для GET-запросов;
  • Ошибка Таймаута устанавливает статус запроса Ошибка.

1.7.0 (2021-05-21)

  • Изменение названия поля "Статус Пакета"
  • Исправление множественного названия моделей
  • Изменение порядка отобржения полей в админке
  • Правки в установке "Статуса Сообщения" при отправке запроса
  • Профилирование запроса получения Запросов к переотправке
  • Добавление настройки таймаута(в секундах) при отправке запроса в АИО(по умолчанию 1сек)

1.6.1 (2021-04-25)

  • Изменения для работы с ЭДС 2.12+

1.6.0 (2020-12-28)

  • Изменения для работы с ЭШ под Python 3.7

1.5.2 (2020-12-23)

  • Поднята максимальная версия пакета зависимости requests до 2.25

1.5.1 (2020-12-03)

  • Исправлена обратная совместимость с версиями 1.4.x
  • Исправлены названия асинхронных периодических задач
  • Добавлена функция выдачи ответов потребителю к обработке
  • Добавлена функция пометки ответа потребителю ошибкой обработки
  • Добавлено логирование http-ответа от aio_server при возникновении ошибки

1.5.0 (2020-11-25)

  • Добавление хранения и приёма информации по полям Код Ошибки и Описание ошибки в Потребитель. Ответ СМЭВ
  • Исправление чтение конфига для периодических асинхронных задач
  • Добавлены индексы для полей origin_message_id базовых моделей

1.4.4 (2020-11-12)

  • Добавлены индексы по полям message_id и state базовых моделей
  • Исправлена конфигурация yadic
  • Исправлено предупреждение pyyaml о небезопасном загрузчике
  • Стилевые исправления fab src

1.4.3 (2020-03-02)

  • Добавлена возможность массовой смены статуса сообщений и фильтрация по статусу для модели "Потребитель. Ответ СМЭВ"
  • Добавлена возможность настройки expiry_date - времени, спустя которое неотправленному сообщению присваивается статус ошибки
  • Исправлена долгая загрузка объектов в админке из-за поля "Лог запроса"
  • Добавлено поле Статус Ответа в реестрах "Заявки в СМЭВ", "Ответ СМЭВ по заявкам", "Ответ СМЭВ"

1.4.2 (2019-08-20)

  • Исправлена генерация message_id

1.4.1 (2019-08-16)

  • Исправлены описания моделей для Поставщиков и Потребителей

1.4.0 (2019-04-12)

  • Удалена зависимость от API pip.

1.3.0 (2019-03-06)

  • Исправлена отправка сообщений в Sentry.
  • Исправлено сохранение запросов к Поставщику.
  • Для периодических задач добавлены несколько типов расписаний.
  • Добавлена отправка сигнала о завершении получения данных из системы AIO.

1.1.1 (2018-10-30)

  • Исправлена ошибка django.core.exceptions.FieldError для Django<1.10

1.1.0 (2018-10-18)

  • Добавлена повторная отправка POST запросов при транспортных ошибках, и отправка в sentry других ошибок. Если в течение суток с момента создания POST запроса отправка не выполнена, то запросу присваивается статус error
  • При включенной настройке DEBUG_MODE, в исх. сообщения заполняется is_test_message=True
  • При повторной отправке POST запроса от потребителя присваивается новый message_id
  • В админке для POST Запросов добавлен метод "Повторно отправить сообщения в статусе ошибка" для сообщений, для котрых
  • Доработана конфигурация зависимых объектов для клиента из пользовательских приложений.
  • Доработана совместимость с python3.
  • Добавлены тесты на совместимость с различными версиями python и Django.

1.0.0 (2018-10-10)

  • Выделена версия 1.0.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aio_client-1.14.0.tar.gz (45.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aio_client-1.14.0-py3-none-any.whl (67.2 kB view details)

Uploaded Python 3

File details

Details for the file aio_client-1.14.0.tar.gz.

File metadata

  • Download URL: aio_client-1.14.0.tar.gz
  • Upload date:
  • Size: 45.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for aio_client-1.14.0.tar.gz
Algorithm Hash digest
SHA256 dcbc99ad48f1fd1f5b1d9d3bc430eb5455acd19648ef203cadbc4f4cd17725ff
MD5 d1d56467fc124e1416e071c618888d4d
BLAKE2b-256 7bdbfe8cf9f3128ca96998b3636aae008c1c4dbcca9bf152886818d785713cae

See more details on using hashes here.

File details

Details for the file aio_client-1.14.0-py3-none-any.whl.

File metadata

  • Download URL: aio_client-1.14.0-py3-none-any.whl
  • Upload date:
  • Size: 67.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for aio_client-1.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1995cc8cb0a8cf86a89dbaac9051c85ef523e28e25f8233ff1683e3c89923324
MD5 a93924dd612cef9f84f8e752d9901baa
BLAKE2b-256 8ddeea976f05e7b5915bebfea6c1319f4274d2d4a9bf62ff9d929cd7e03e642c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page