Выполняется ETL-процесс загрузки, обработки файла. По завершении ETL-процесса функция выдаёт результат загрузки - успех/неуспех и нужно вывести пользователю сообщение (можно всплывающее), что Загрузка прошла успешно. Либо - Загрузка прошла с ошибками. Как это сделать? Какие блоки/операторы для этого использовать?
Добрый день, Денис! Благодарим за ваш интерес и обратную связь. На текущий момент в AlphaBI действительно отсутствует прямая возможность отображения всплывающих уведомлений или модальных окон с результатами выполнения ETL-процессов.
Однако, есть несколько обходных способов, которые позволяют реализовать механизм информирования пользователя о результате выполнения:
Вариант 1: Отправка сообщения через настройки раздела «Действия» при запуске по требованию
Вы можете отправлять сообщения через действия. Для этого вам нужно:
- Перейти в раздел «Администрирование» → «Действия».
- Создать новое действие, связанное с нужным ETL-процессом.
- Убедиться, что флаг «Завершать процесс без отправки уведомления» отключен.
- После выполнения ETL-процесса система автоматически отправит уведомление о его завершении.
Вариант 2: Настроить автоматическое информирование пользователя о результате выполнения ETL-процесса по расписанию, используя связи между задачами в Планировщике задач
Информирование пользователя о результате выполнения ETL-процесса по расписанию может быть реализовано как отправка email-рассылки со статусом или запуск дополнительного ETL-процесса с шагом отправки письма.
Для корректной работы у вас должны быть:
- Версия AlphaBI не ниже 5.0 (для полной функциональности: рассылки, связи, права).
- Доступ к модулю «Планировщик задач».
- Настроенная рассылка (для отправки сообщений).
Можно воспользоваться следующим планом:
Шаг 1: Создать основную задачу — запуск ETL-процесса
- Перейти в раздел «Планировщик задач».
- Нажать кнопку «Создать задачу».
- Выбрать тип задачи: «Запустить ETL процесс».
- Заполнить поля:
- Наименование: например, «ETL_Обработка_файла».
- ETL процесс: выбрать нужный процесс.
- Уровень логирования: по желанию (Нормальный/Минимальный/Подробный).
- Сохранить задачу.
Шаг 2: Создать две доп. задачи:
a) Задача «Выполнить рассылку» при успешном завершении ETL
- Нажать «Создать задачу».
- Выбрать тип задачи: «Выполнить рассылку».
- Указать:
- Наименование: например, «Отправка_успеха».
- Рассылка: выбрать предварительно созданную рассылку с текстом «Загрузка прошла успешно».
- Сохранить.
b) Задача «Выполнить рассылку» при ошибке ETL
- Нажать «Создать задачу».
- Выбрать тип задачи: «Выполнить рассылку».
- Указать:
- Наименование: например, «Отправка_ошибки».
- Рассылка: выбрать предварительно созданную рассылку с текстом «Загрузка прошла с ошибками».
Альтернатива: вместо рассылки можно использовать ETL-процесс, который включает в себя блок отправки сообщения на email или просто отправки сообщения.
Шаг 3: Настроить связи между задачами
-
В списке задач выбрать основную задачу ETL («ETL_Обработка_файла»).
-
Используя Drag-and-drop, перетащите:
Задачу «Отправка_успеха» в группу «Зависимые» основной задачи.
Задачу «Отправка_ошибки» также в группу «Зависимые». -
Для каждой зависимости откройте окно редактирования связи и установите соответствующее условие:
Для «Отправка_успеха»: Условие запуска = «Успех»
Для «Отправка_ошибки»: Условие запуска = «Ошибка»
Таким образом, после выполнения ETL будет автоматически запущена либо одна, либо другая задача, в зависимости от результата.
Шаг 4: Настроить триггер для запуска основной задачи по расписанию
- Выберите задачу «ETL_Обработка_файла».
- Нажмите «Создать триггер».
- Укажите параметры:
- Начало: дата и время первого запуска.
- Интервал или Cron-выражение для повторения.
- При необходимости — дата завершения.
- Сохраните триггер.
Результат: После выполнения всех шагов:
- ETL-процесс будет запускаться по расписанию.
- В случае успеха пользователь получит уведомление о прошедшей загрузке.
- В случае ошибки — уведомление о проблеме.