Руководство пользователя Менеджера Сценариев
5.Эксплуатация.
5.1.Работа с расписаниями.
5.1.6.Ручной запуск расписания.
Ручной запуск расписания — это возможность немедленного выполнения расписания вне установленного графика.
Данная функция предназначена для:
- экстренного выполнения критичных операций;
- тестирования и отладки работы расписания с различными параметрами;
- оперативного управления выполнением задач без ожидания следующего запуска по расписанию;
- обработки накопленных данных при необходимости ускоренного выполнения.
Условия доступности ручного запуска:
- кнопка «Запустить сейчас» доступна пользователям с уровнем доступа 2, 3 и 4;
- расписание должно быть сохранено (иметь ID в системе);
- сервис должен быть корректно настроен и доступен.
Ручной запуск расписания с параметрами, указанными пользователем осуществляется из карточки редактирования расписания (раздел 5.1.5. «Редактирование расписания», рисунок 10, позиция 2; раздел 5.1.5. «Редактирование расписания», таблица 6, пункт 2) при помощи кнопки «Запустить сейчас».
В открывшемся диалоговом окне необходимо указать входные параметры сервиса и нажать кнопку «Запустить».
Алгоритм работы системы при ручном запуске расписания.
Шаг 1: Инициализация запуска.
- пользователь в карточке редактирования расписания нажимает кнопку «Запустить сейчас»;
- система проверяет наличие несохраненных изменений в расписании, статуса сервиса (эксплуатация/разработка). Для сервисов в эксплуатации система дополнительно запрашивает подтверждение, как показано на рисунке 19.
- осуществляет непосредственный переход к подготовке запуска.
Шаг 2: Подготовка данных расписания.
- если есть несохраненные изменения — осуществляется автоматическое сохранение;
- если изменений нет — немедленный переход к запуску.
Шаг 3: Загрузка и подготовка параметров.
- загрузка шаблонных параметров;
- преобразование данных для отображения в диалоге;
- создание массивов параметров по умолчанию;
- учет последних использованных параметров;
- объединение шаблонных данных с последними использованными;
- открытие диалогового окна «Параметры запроса для расписания».
Шаг 4: Работа с параметрами запроса.
- пользователь работает с интерфейсом настройки параметров запуска.
Шаг 5: Выполнение запуска.
- пользователь нажимает на кнопку «Запустить»;
- система осуществляет запуск, преобразование введенных данных обратно в объекты;
- осуществляет вызов API;
- сохраняет параметры для будущих запусков.
Механизм проверки несохраненных изменений.
- При открытии/создании расписания система создает «снимок» текущего состояния.
- Каждом изменение Пользователем полей формы (наименование, приоритет, CRON и так далее) учитывается
системой. Система должна пересчитать время следующего запуска расписания после сохранения.
Изменением считается любая модификация данных расписания, которые будут сохранены в базу данных, кроме временных полей UI:- изменение наименования расписания;
- изменение выбранного сервиса;
- изменение приоритета (0-9);
- изменение CRON выражения;
- изменение критичности (0-2);
- изменение данных запроса в JSON Editor/Textarea;
- изменение сохраненного ответа;
- изменение настроек активаторов;
- изменение правил повтора и очистки.
- При нажатии кнопки «Запустить сейчас» система сравнивает текущее состояние с оригинальным «снимком». Проверяет статус сервиса (эксплуатация/разработка) для данного расписания. Пользователь может увидеть статус сервиса в разделе «Сервисы» начального экрана Реестра сервисов.
- Если сервис находится в статусе «Эксплуатация», выводится окно подтверждения запуска, предлагающее сохранить изменения и продолжить запуск. Так как, сервис находится в эксплуатации и используются в production-среде, любые изменения могут повлиять на бизнес-процессы, в связи с чем требуется явное подтверждение действий пользователя.
- Если сервис находится в статусе «Разработка», изменения сохраняются автоматически без подтверждения.
Типы параметров запроса для расписания.
А) Корневые параметры — системные параметры выполнения, которые ипользуются для технических настроек, например: trace_id, client_id, priority.
B) Параметры запроса — бизнес-параметры конкретного сервиса, которые передаются непосредственно в тело запроса, например: date_from, date_to, limit.
Источники данных параметров:
- Автоматическое формирование из шаблона: параметры автоматически извлекаются из поля «Данные запроса» основного расписания;
- Последние использованные параметры: автоматически сохраняются после каждого успешного запуска. Используются при повторном открытии диалога.
- Пользовательский ввод данных в диалоговом окне ручного запуска расписания: любые текстовые значения могут принимаются системой. Отсутствует клиентская валидация форматов.
Пример:
На рисунке 20 показано диалоговое окно ручного запуска расписания для приведенных ниже данных запроса расписания, указанных в поле «Данные запроса» карточки расписания.
{
"scenCall": {
"scenName": "%unique_id%",
"callerIp": "%ext_addr%",
"params": {
"param": [
{
"name": "SHOP_CODE",
"value": "114",
"type": "string"
},
{
"name": "ID_CAR",
"value": "1769683",
"type": "string"
},
{
"name": "ID_PRIEM_OVER",
"value": null,
"type": "string"
},
{
"name": "ID_CAR_NATUR",
"value": null,
"type": "string"
},
{
"name": "ACTION",
"value": "0",
"type": "string"
}
]
}
}
}
Функциональное назначение кнопки «Загрузить из шаблона».
Кнопка предназначена для восстановления исходных значений параметров, определенных в системном шаблоне (поле «Данные запроса» карточки расписания раздела 5.1.5. «Редактирование расписания», рисунок 10, позиция 22 и 5.1.5. «Редактирование расписания», таблица 6, пункт 22). Указанные в поле данные используются при любом типе запуска расписания. В случае ручного запуска система предоставляет диалоговое окно с параметрами для подстановки в данные запроса, что позволяет скорректировать данные, при этом не внося изменений в настройки расписания.
Кнопка так же используется, в случае необходимости сбросить введенные ранее в диалоговом окне данные или загрузить данные из шаблона повторно.
Примеры реализации загрузки из шаблона.
Сценарий A: Шаблон настроен корректно (поле «Данные запроса» содержит корректные данные):
{
"scenCall": {
"scenName": "%unique_id%",
"callerIp": "%ext_addr%",
"params": {
"param": [
{
"name": "SHOP_CODE",
"value": "114",
"type": "string"
}
]
}
}
}
При нажатии кнопки все поля мгновенно обновляются с шаблонными значениями и пользователь видит явное изменение данных, как показано на рисунке 21.
Сценарий B: Частично заполненный шаблон содержит только часть параметров — корневые параметры:
{
"scenCall": {
"scenName": "%unique_id%",
"callerIp": "%ext_addr%",
"params": {
"param": []
}
}
}
При нажатии кнопки «Загрузить из шаблона» параметры запроса приобретают вид, показанный на рисунке 22:
- остаются только корневые параметры;
- секция параметров запроса становится пустой (не отображается).
Сценарий C: пустой шаблон вообще не содержит параметров, как показано ниже.
- Корневые параметры = [ ] // пустой массив.
- Параметры запроса = [ ] // пустой массив.
При нажатии кнопки«Загрузить из шаблона» параметры запроса приобретают вид, показанный на рисунке 23:
- кнопка активна и кликабельна, анимация нажатия отрабатывает;
- визуально ничего не происходит;
- поля ввода не появляются;
- сообщения не выводятся.
Пользовательский опыт:
- создается впечатление, что «кнопка не работает»;
- на самом деле система присваивает пустые массивы;
- визуально это никак не проявляется.
Рекомендации по использованию параметров ручного запуска.
При работе с параметрами:
- используйте placeholder %param_name% в основном шаблоне для создания редактируемых полей, согласно «Правил подстановки» указанных под полем «Данные запроса»;
- внимательно проверяйте форматы сложных данных (JSON/XML) перед запуском.
При отсутствии параметров:
- используйте запуск без параметров если бизнес-логика сервиса это допускает;
- проверьте данные сервиса на предмет обязательных параметров;
При проблемах с запуском:
- проанализируйте логи выполнения через кнопку «Лог» в основном интерфейсе окна редактирования расписания;
- проверяйте мониторинг для диагностики проблем производительности;
Ручной запуск расписания предоставляет мощный инструмент для оперативного управления задачами, тестирования конфигураций и отладки работы системы в различных сценариях, обеспечивая гибкость и контроль над выполнением бизнес-процессов.