Рекомендации по созданию коммерческих сценариев
При разработке коммерческих сценариев на платформе Sherpa RPA следует придерживаться выполнения следующих требований и рекомендаций:
Обеспечение бесперебойной работы.
Сценарий должен быть спроектирован для работы в течение 24 часов без сбоев и перерывов, поэтому все блоки должны либо содержать альтернативные сценарии обработки ошибок по коннектору «Если ошибка», либо режим обработки ошибок должен быть выставлен в Ignore, при этом обработку ошибочной ситуации должен обеспечивать один из следующих блоков в сценарии. Таким образом, должна быть обеспечена устойчивость сценария к появлению на экране не предусмотренных элементов управления, к задержкам в работе приложений и интернета. В таких случаях должен происходить пропуск текущего обрабатываемого элемента и корректный перезапуск сценария для перехода к следующему обрабатываемому элементу.
Например, в исходных данных сценария содержится 10 тысяч названий товаров, по которым нужно собрать цены. Разработчик запускает сценарий на ночь, а утром обнаруживает, что сценарий аварийно прервался через 30 минут после старта, и робот не отработал сценарий. Поэтому вопросы надежности сценариев и проработки разных вариантов развития событий очень важны.
Обеспечение устойчивости сценария.
Для обеспечения устойчивости сценария во всех блоках для взаимодействия с пользовательским интерфейсом и страницами сайтов (в визуальном режиме) следует прописывать ненулевые (адекватные) таймауты и периоды ожидания. При этом необходимо воздержаться от использования безусловных ожиданий и задержек везде, где это не продиктовано крайней необходимостью. Вместо безусловных задержек необходимо в течение конечного времени ожидать появление тех элементов управления, которые нужны для продолжения работы сценария. При любом сбое сценария и последующем его перезапуске сценарий должен продолжать работу (примерно) с того места, на котором остановился раньше.
Обеспечение адекватного объема отладочных сообщений в логе.
Сценарий должен писать в лог адекватный объем отладочных сообщений, по которому можно будет понять ход обработки задачи, на каком этапе задачи робот находится в настоящий момент.
Обеспечение корректной работы открываемых файлов.
Все открываемые для чтения или редактирования файлы должны своевременно и корректно закрываться, не задерживая блокировку файла роботом дольше необходимого времени. При открытии файлов должна быть предусмотрена вероятность, что они заблокированы другим приложением. Актуально, когда с файлом, с которым работает Робот, должны работать сотрудники компании-Заказчика. Например, робот был запущен по расписанию ночью, а днем с этим же файлом должны работать сотрудники. В случае, если Робот его не закроет, то у сотрудников не будет возможности редактировать его.
Рекомендации для сценариев, запускаемых пользователем вручную.
Для сценариев, которые запускаются пользователем вручную рекомендуется выводить сообщение в конце работы сценария – о том, успешно ли он завершен или нет, и с какими результатами.
Рекомендации по разработке сценариев, которые предназначены для работы по расписанию.
Для сценариев, которые предназначены для работы по расписанию, недопустимо выводить сообщения об ошибках в виде диалоговых окон. Все ошибки должны писаться в лог, а сценарий должен предпринять все возможные усилия чтобы корректно продолжить работу.
Сценарии, которые предназначены для работы по расписанию, должны при любом варианте своей остановки (плановой или аварийной) приводить системное окружение в то состояние, в котором оно было на момент запуска – для того чтобы последующий запуск этого же сценария произошел корректно. Недопустимо накапливать ресурсы, открытые и не закрытые окна браузеров/приложений и т.д.
Рекомендации по разработке Attended-роботов.
Attended-робот должен регулярно информировать пользователя о текущей стадии работы и обрабатываемом документе (сайте и т.д. - в зависимости от логики бизнес-сценария) надписью в верхней части экрана (для этого надо проставить флаг "Отображать в статусе" в блоке "Лог").
Необходимо настроить вывод сообщений так, чтобы выводить не более одного сообщения в секунду и не реже одного сообщения в 10 секунд.
Наиболее значимая для пользователя часть текста сообщения должна идти первой и помещаться на экране.
Вывод сообщений не должен мешать нормальной работе робота, а также взаимодействию пользователя с интерфейсом компьютера, если предполагается что пользователь может работать параллельно с роботом.
Допускается не выводить сообщения в тех случаях, когда действия, стадия и прогресс работы робота полностью очевидны из того, что происходит на экране.
Выводимые в лог сообщения должны отвечать на следующие вопросы: "что сейчас происходит?", "всё ли идёт по плану", "как скоро это закончится?" или "как быстро обрабатывается заданный объем работы?"
Рекомендации по хранению исходников.
Все исходники всех роботов следует сохранять в аккаунте GitHub. Под каждый проект разработчика будет создаваться подрепозиторий, к которому исполнитель получает доступ.
Last updated