Руководство пользователя Менеджера Сценариев

5.Эксплуатация.

5.1.Работа с расписаниями.

5.1.6.Ручной запуск расписания.

Ручной запуск расписания — это возможность немедленного выполнения расписания вне установленного графика.

Данная функция предназначена для:

  • экстренного выполнения критичных операций;
  • тестирования и отладки работы расписания с различными параметрами;
  • оперативного управления выполнением задач без ожидания следующего запуска по расписанию;
  • обработки накопленных данных при необходимости ускоренного выполнения.

Условия доступности ручного запуска:

  • кнопка «Запустить сейчас» доступна пользователям с уровнем доступа 2, 3 и 4;
  • расписание должно быть сохранено (иметь ID в системе);
  • сервис должен быть корректно настроен и доступен.

Ручной запуск расписания с параметрами, указанными пользователем осуществляется из карточки редактирования расписания (раздел 5.1.5. «Редактирование расписания», рисунок 10, позиция 2; раздел 5.1.5. «Редактирование расписания», таблица 6, пункт 2) при помощи кнопки «Запустить сейчас».

В открывшемся диалоговом окне необходимо указать входные параметры сервиса и нажать кнопку «Запустить».

Рисунок 18Диалоговое окно параметров ручного запуска расписания.
Диалоговое окно параметров ручного запуска расписания (исправить ссылки после перенумерации).

Алгоритм работы системы при ручном запуске расписания.

Шаг 1: Инициализация запуска.

  • пользователь в карточке редактирования расписания нажимает кнопку «Запустить сейчас»;
  • система проверяет наличие несохраненных изменений в расписании, статуса сервиса (эксплуатация/разработка). Для сервисов в эксплуатации система дополнительно запрашивает подтверждение, как показано на рисунке 19.
  • осуществляет непосредственный переход к подготовке запуска.

Шаг 2: Подготовка данных расписания.

  • если есть несохраненные изменения — осуществляется автоматическое сохранение;
  • если изменений нет — немедленный переход к запуску.

Шаг 3: Загрузка и подготовка параметров.

  • загрузка шаблонных параметров;
  • преобразование данных для отображения в диалоге;
  • создание массивов параметров по умолчанию;
  • учет последних использованных параметров;
  • объединение шаблонных данных с последними использованными;
  • открытие диалогового окна «Параметры запроса для расписания».

Шаг 4: Работа с параметрами запроса.

  • пользователь работает с интерфейсом настройки параметров запуска.

Шаг 5: Выполнение запуска.

  • пользователь нажимает на кнопку «Запустить»;
  • система осуществляет запуск, преобразование введенных данных обратно в объекты;
  • осуществляет вызов API;
  • сохраняет параметры для будущих запусков.

Механизм проверки несохраненных изменений.

  1. При открытии/создании расписания система создает «снимок» текущего состояния.
  2. Каждом изменение Пользователем полей формы (наименование, приоритет, CRON и так далее) учитывается системой. Система должна пересчитать время следующего запуска расписания после сохранения.
    Изменением считается любая модификация данных расписания, которые будут сохранены в базу данных, кроме временных полей UI:
    • изменение наименования расписания;
    • изменение выбранного сервиса;
    • изменение приоритета (0-9);
    • изменение CRON выражения;
    • изменение критичности (0-2);
    • изменение данных запроса в JSON Editor/Textarea;
    • изменение сохраненного ответа;
    • изменение настроек активаторов;
    • изменение правил повтора и очистки.
  3. При нажатии кнопки «Запустить сейчас» система сравнивает текущее состояние с оригинальным «снимком». Проверяет статус сервиса (эксплуатация/разработка) для данного расписания. Пользователь может увидеть статус сервиса в разделе «Сервисы» начального экрана Реестра сервисов.
  4. Если сервис находится в статусе «Эксплуатация», выводится окно подтверждения запуска, предлагающее сохранить изменения и продолжить запуск. Так как, сервис находится в эксплуатации и используются в production-среде, любые изменения могут повлиять на бизнес-процессы, в связи с чем требуется явное подтверждение действий пользователя.
  5. Если сервис находится в статусе «Разработка», изменения сохраняются автоматически без подтверждения.
Рисунок 19Диалоговое окно подтверждения сохранения изменений перед запуском.
Диалоговое окно подтверждения сохранения изменений перед запуском (исправить ссылки после перенумерации).

Типы параметров запроса для расписания.

А) Корневые параметры — системные параметры выполнения, которые ипользуются для технических настроек, например: trace_id, client_id, priority.

B) Параметры запроса — бизнес-параметры конкретного сервиса, которые передаются непосредственно в тело запроса, например: date_from, date_to, limit.

Источники данных параметров:

  1. Автоматическое формирование из шаблона: параметры автоматически извлекаются из поля «Данные запроса» основного расписания;
  2. Последние использованные параметры: автоматически сохраняются после каждого успешного запуска. Используются при повторном открытии диалога.
  3. Пользовательский ввод данных в диалоговом окне ручного запуска расписания: любые текстовые значения могут принимаются системой. Отсутствует клиентская валидация форматов.

Пример:

На рисунке 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"
        }
      ]
    }
  }
}
Рисунок 20Диалоговое окно ручного запуска расписания.
Диалоговое окно ручного запуска расписания (исправить ссылки после перенумерации).

Функциональное назначение кнопки «Загрузить из шаблона».

Кнопка предназначена для восстановления исходных значений параметров, определенных в системном шаблоне (поле «Данные запроса» карточки расписания раздела 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.

Рисунок 21Обновлённые параметры запроса.
Обновлённые параметры запроса (исправить ссылки после перенумерации).

Сценарий B: Частично заполненный шаблон содержит только часть параметров — корневые параметры:

{
  "scenCall": {
    "scenName": "%unique_id%",
    "callerIp": "%ext_addr%",
    "params": {
      "param": []
    }
  }
}

При нажатии кнопки «Загрузить из шаблона» параметры запроса приобретают вид, показанный на рисунке 22:

  • остаются только корневые параметры;
  • секция параметров запроса становится пустой (не отображается).
Рисунок 22Обновлённые параметры запроса после загрузки из шаблона.
Обновлённые параметры запроса после загрузки из шаблона (исправить ссылки после перенумерации).

Сценарий C: пустой шаблон вообще не содержит параметров, как показано ниже.

  • Корневые параметры = [ ] // пустой массив.
  • Параметры запроса = [ ] // пустой массив.

При нажатии кнопки«Загрузить из шаблона» параметры запроса приобретают вид, показанный на рисунке 23:

  • кнопка активна и кликабельна, анимация нажатия отрабатывает;
  • визуально ничего не происходит;
  • поля ввода не появляются;
  • сообщения не выводятся.
Рисунок 23Обновлённые параметры запроса после загрузки из пустого шаблона.
Обновлённые параметры запроса после загрузки из пустого шаблона (исправить ссылки после перенумерации).

Пользовательский опыт:

  • создается впечатление, что «кнопка не работает»;
  • на самом деле система присваивает пустые массивы;
  • визуально это никак не проявляется.

Рекомендации по использованию параметров ручного запуска.

При работе с параметрами:

  • используйте placeholder %param_name% в основном шаблоне для создания редактируемых полей, согласно «Правил подстановки» указанных под полем «Данные запроса»;
  • внимательно проверяйте форматы сложных данных (JSON/XML) перед запуском.

При отсутствии параметров:

  • используйте запуск без параметров если бизнес-логика сервиса это допускает;
  • проверьте данные сервиса на предмет обязательных параметров;

При проблемах с запуском:

  • проанализируйте логи выполнения через кнопку «Лог» в основном интерфейсе окна редактирования расписания;
  • проверяйте мониторинг для диагностики проблем производительности;

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