Описание#
Назначение#
Продукт Platform V Batch (далее — продукт Batch) предназначен для организации асинхронных вычислений в виде Очереди Задач и планирования запуска вычислительных Заданий по расписанию или по требованию.
Вычислительные Задания и Задачи, оформленные в виде вызова произвольных запросов, вызывают веб-сервисы по протоколу HTTP(S), включая архитектурный стиль REST и протокол JSON-RPC 2.0.
Продукт Batch состоит из двух компонентов: Планировщик заданий (Batch Scheduler), Пакетная обработка задач (Batch Tasks).
Функции#
Запуск Задания#
Основными функциями сервиса Batch Scheduler является запуск Заданий по расписанию или по требованию (запрос API и через UI) в виде вызова произвольных запросов, которые вызывают веб-сервисы по протоколу HTTP(S), включая архитектурный стиль REST и протокол JSON-RPC 2.0.
Выполнение Задач в порядке Очереди#
Основной функцией сервиса Batch Tasks является выполнение Задач в порядке Очереди в соответствии с заданными параметрами (запрос API и через UI) в виде вызова произвольных запросов, которые вызывают веб-сервисы по протоколу HTTP(S), включая архитектурный стиль REST и протокол JSON-RPC 2.0.
Функции безопасности#
Собственные механизмы безопасности данных в Platform V Batch отсутствуют. В процессе создания конечной информационной системы необходимо выбирать, интегрировать и применять платформенные механизмы безопасности в соответствии с их документацией, с учетом конфиденциальности обрабатываемой информации и иных требований информационной безопасности.
Нефункциональные особенности#
Гарантия запуска#
100 % Задач запускаются на выполнение по модели at-least-once, не позднее, чем через 1 ч (3600 с) после запланированного времени запуска каждой Задачи:
при неработоспособности одного или нескольких компонентов сервиса;
при недоступности одного или нескольких компонентов сервиса;
при полной недоступности всего сервиса.
Критерием запуска Задачи (Задания) является факт вызова HttpTarget, указанный в Задаче (Задании).
При накоплении некоторого количества несостоявшихся запусков Задач по расписанию, сервис выполняет запуски Задач в порядке их планового времени, указанных в параметре scheduleTime.
Если сразу после восстановления работоспособности сервиса статус Задачи был изменен на PAUSED, то сервис запускает только те Задачи, запуск которых не был произведен во время его недоступности и до изменения состояния Задачи.
При накоплении несостоявшихся повторных запусков Задания (при этом в Задании для retryPolicy значения установлены не по умолчанию) сервис выполняет запуск всех запланированных Задач согласно установленной Политике повторов.
Политика повтора#
Если при запуске/выполнении Задачи возникла ошибка, то Задача будет следовать установленной пользователем политике повтора, а именно:
повторные запуски будут выполнены определенное количество раз;
повторные запуски будут происходить с заданным интервалом, увеличивающимся между повторными запусками;
интервал между запусками не превышает 15 мин.
При этом пользователь может отслеживать основные актуальные параметры политики запуска Задачи (если политика включена).
Мониторинг ошибок неуспешно выполненных Задач#
Если при запуске/выполнении Задач возникает ошибка, то пользователь может просмотреть список Задач, завершенных с ошибкой, на странице Ошибки выполнения задач.
На странице Ошибки выполнения задач отображаются все Задачи со статусом FAILED.
История Задания#
Batch UI в части работы с историей Задания обеспечивает наличие следующих элементов:
Вкладка История выполнения, расположенная во вложенной форме элемента списка таблицы Заданий на странице Планировщик Заданий.
Панель фильтров на вкладке История выполнения:
Статус — выпадающий список с состояниями Задания: любой статус, готов к запуску, запущен, успешно выполнен, закончился неуспешно, отменен;
HTTPS-код ответа — поле для ввода кода или маски;
Период показа истории — выпадающий список с периодами: вся история, последний час (1 ч), последние три часа (3 ч), последние шесть часов (6 ч), последние двенадцать часов (12 ч), последние сутки (24 ч), последняя неделя (168 ч), последний месяц (720 ч), предыдущие сутки, предыдущая неделя (пн—вс), ввести вручную. При выборе пункта Ввести вручную открываются поля ввода начала и конца периода.
Кнопки на панели фильтров: Очистить, Найти, Обновить таблицу.
Таблица истории Заданий:
столбцы таблицы: дата-время запланированного запуска, статус, количество попыток запуска, код результата запуска, текст прикладного сообщения;
по умолчанию отображается 10 записей о последних запусках в обратном хронологическом порядке.
Термин/аббревиатура |
Определение |
|---|---|
Асинхронный запуск |
Несовпадение запусков вычислительных Задач во времени |
БД |
База данных |
Задание |
Сущность Job — вычисление, оформленное в виде вызова произвольных запросов HTTP(S) |
Задача |
Сущность Task — вычисление, предназначенное для одноразового запуска из Очереди |
Категория информации |
Информация в зависимости от категории доступа к ней |
К1, К2 |
Категория конфиденциальности информации, разглашение или незаконное использование которой влекут критические или существенные негативные последствия |
Мультитенантность |
Особенность архитектуры, позволяющая обслуживать пользователей из разных организаций в рамках одного сервиса |
Очередь |
Сущность Queue — контейнер для Задач, предназначенный для управления запуском одноразовых вычислений в определенном порядке, может ограничивать количество одновременно выполняемых Задач для регулирования нагрузки на вычислительные средства |
Платформа, Platform V |
Набор программных продуктов, предоставляющих совокупность функциональных возможностей и позволяющей обеспечить быстрое конструированное информационных систем из множества готовых компонентов |
Тенант |
Логическая сущность, имеющая возможность использовать ресурсы и сервисы |
API |
Application Programming Interface, программный интерфейс приложения |
Сron-выражение |
Формат записи для указания частоты запуска Заданий |
CRUD-операции |
Четыре базовые функции, используемые при работе с базами данных (создание, чтение, модификация, удаление) |
HTML |
Hypertext Markup Language, стандартизированный язык разметки документов для просмотра веб-страниц в браузере |
HTTP |
Hypertext Transfer Protocol, прикладной протокол передачи данных для гипертекстовых документов (HTML) |
HTTPS |
Hypertext Transfer Protocol Secure, расширение протокола HTTP для поддержки шифрования в целях повышения безопасности |
Istio |
Настраиваемая сервисная сетка (service mesh) для взаимодействия, мониторинга и обеспечения безопасности контейнеров в кластере Kubernetes |
JSON-RPC |
JavaScript Object Notation Remote Procedure Call, протокол удаленного вызова процедур, использующий JSON для кодирования сообщений |
Kubernetes |
Программное обеспечение для оркестровки контейнеризированных приложений |
OpenShift |
Платформа приложений с средствами автоматизации и управления на основе политик |
REST |
Representational State Transfer, архитектурный стиль взаимодействия компонентов распределенного приложения в сети |
UI |
User Interface, пользовательский интерфейс |
URL |
Uniform Resource Locator, система унифицированных адресов электронных ресурсов или единообразный определитель местонахождения ресурса |