Урок 23 Периодический запуск служебных сценариев
Наверх | К предыдущему уроку |
Содержание
Введение
На прошлом уроке рассматривался ручной запуск сценариев, однако такой способ на практике применяется очень редко. Благодаря тому, что служебные сценарии могут запускаться в любые моменты времени появляется еще один способ запуска - периодический.
Периодический запуск применяется для решения следующих задач:
- Автоматический сбор данных и мониторинг внешних систем. В рамках задачи сценарий рассчитывает собственные показатели (например, из БД) или обращается во внешний сервис, например, ящик электронной почты, WebCRM, личный кабинет SMS-провайдера. Как правило, внешняя система имеет некоторый набор команд, называемый API, с помощью которого можно получить требуемую информацию. При запуске служебный сценарий выполняет команды API для получения количества заявок с помощью компонента “Web-запрос”. Полученный ответ записывается в переменную, которая затем анализируется с помощью компонента "Парсер". Полезная информация записывается в базу данных Oktell с пометкой о времени.
- Вычисление данных. Во время сбора данных в таблицы обычно попадает детализированная информация по проекту. Например, в таблице фиксируется каждая активность и ее параметры, такие как дата начала и завершения работы, имена сотрудников, принимающих участие и другие. Для общих отчетов по работе компании необходимо дополнительно преобразовывать полученные данные - это может быть дополнительная фильтрация по менеджерам, суммирование всех заявок и времени их выполнения, разделение на подгруппы, вычисление минимальных, средних и максимальных значений, а также любые другие операции.
- Контроль данных. Служебные сценарии также применяются для оповещения супервизоров. Например, сотрудники за весь день выполнили 70% плана. Если при очередном запуске система определяет критический уровень показателя, то она уведомляет об этом супервизора по SMS или E-mail. Возможны и другие варианты оповещения. С помощью таких настроек офис всегда остается под контролем, где бы ни находилось руководство.
- Системные действия. Сценарии можно применять для управления файлами и загрузками, очищать или архивировать документы в системных папках и для других действий.
Создание сценария
Задача: В компании реализуется сервис "Обратный звонок с сайта" с помощью которого любой желающий может оставить свои контактные данные и в течении 5 минут ему перезвонит специалист по продажам.
Задачу планируется решать с помощью почтового сервиса. После заполнения формы с номером телефона, с сайта отправляется электронное письмо на определенный адрес. Oktell постоянно мониторит электронную почту и в случае распознавания целевого письма коммутирует клиента и оператора.
Решение задачи начинается с создания служебного сценария. Вид сценария показан на рисунке:
Компонент "Получение Email". Получает электронное письмо и сохраняет его части в соответствующие переменные.
- Способ получения - указываются настройки подключения к POP3-серверу.
- Кому - переменная to (строковая)
- От кого - переменная from (строковая)
- Тема - переменная theme (строковая)
- Текст письма - переменная text1 (строковая)
- Текст письма часть 2 - переменная text2 (строковая)
- Текст письма часть 3 - переменная text3 (строковая)
- Удалять с сервера - Да
- Путь к папке с вложениями в переменную - folder (строковая)
ВНИМАНИЕ: Включенная настройка "Удалять с сервера" считывает с почтового сервера последнее (позднее) письмо, после чего оно удаляется. Таким образом обеспечивается перебор всех писем. При выключенной настройке письма не удаляется и считывается самое первое (раннее) сообщение.
Компонент "Ошибка". Уведомление администратору системы об ошибке получения письма
- Текст - строка Error.
Компонент "Писем нет". Уведомление администратору системы об отсутствии писем в почтовом ящике.
- Текст - строка Error.
Компонент "Соединение частей письма". Чтобы получить единый текст письма в переменную, производится конкатенация (объединение) частей письма.
- Переменная - text
- Значение - выражение [text1]+endline+[text2]+endline+[text3]
Компонент "Ув1"- Отладочное уведомление для вывода значений переменных.
- Текст - выражение
'To '+[to]+endline+ 'From '+[from]+endline+ 'Theme '+[theme]+endline+endline+ [text]+endline+endline+ 'Folder '+[folder]
Компонент "В нижний регистр". Приводит текст письма к нижнему регистру. Это нужно для удобства поиска кодовой фразы и уменьшения ошибок при анализе. Среди функций Oktell подобного преобразования пока нет, поэтому используется функция SQL:
select @out=lower(@in)
где @in и @out - переменная text
Компонент "Определяем номер". Анализирует текст письма на предмет нахождения кодовой фразы "позвоните мне на номер" и выделяет все рядом стоящие цифры с помощью регулярных выражений.
- Документ - переменная text
- Алгоритм - регулярные выражения
- Поисковый запрос - позвоните мне на номер[\s]+([0-9]+)
- Функция - Содержимое
- Номер элемента - 0
- Результат в переменную - переменная number (строковая)
Компонент "Номер определился?"
Компонент "Оповещаем оператора"
Компонент "Коммутация"
Сценарий назначается на служебную задачу, которая с некоторым периодом начинает его запускать. Служебные задачи рассматриваются в конце этой главы.
Наверх | К предыдущему уроку |