Рекомендации по созданию коммерческих сценариев

При разработке коммерческих сценариев на платформе Sherpa RPA следует придерживаться выполнения следующих требований и рекомендаций:

  1. Обеспечение бесперебойной работы.

Сценарий должен быть спроектирован для работы в течение 24 часов без сбоев и перерывов, поэтому все блоки должны либо содержать альтернативные сценарии обработки ошибок по коннектору «Если ошибка», либо режим обработки ошибок должен быть выставлен в Ignore, при этом обработку ошибочной ситуации должен обеспечивать один из следующих блоков в сценарии. Таким образом, должна быть обеспечена устойчивость сценария к появлению на экране не предусмотренных элементов управления, к задержкам в работе приложений и интернета. В таких случаях должен происходить пропуск текущего обрабатываемого элемента и корректный перезапуск сценария для перехода к следующему обрабатываемому элементу.

Например, в исходных данных сценария содержится 10 тысяч названий товаров, по которым нужно собрать цены. Разработчик запускает сценарий на ночь, а утром обнаруживает, что сценарий аварийно прервался через 30 минут после старта, и робот не отработал сценарий. Поэтому вопросы надежности сценариев и проработки разных вариантов развития событий очень важны.

  1. Обеспечение устойчивости сценария.

Для обеспечения устойчивости сценария во всех блоках для взаимодействия с пользовательским интерфейсом и страницами сайтов (в визуальном режиме) следует прописывать ненулевые (адекватные) таймауты и периоды ожидания. При этом необходимо воздержаться от использования безусловных ожиданий и задержек везде, где это не продиктовано крайней необходимостью. Вместо безусловных задержек необходимо в течение конечного времени ожидать появление тех элементов управления, которые нужны для продолжения работы сценария. При любом сбое сценария и последующем его перезапуске сценарий должен продолжать работу (примерно) с того места, на котором остановился раньше.

  1. Обеспечение адекватного объема отладочных сообщений в логе.

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

  1. Обеспечение корректной работы открываемых файлов.

Все открываемые для чтения или редактирования файлы должны своевременно и корректно закрываться, не задерживая блокировку файла роботом дольше необходимого времени. При открытии файлов должна быть предусмотрена вероятность, что они заблокированы другим приложением. Актуально, когда с файлом, с которым работает Робот, должны работать сотрудники компании-Заказчика. Например, робот был запущен по расписанию ночью, а днем с этим же файлом должны работать сотрудники. В случае, если Робот его не закроет, то у сотрудников не будет возможности редактировать его.

  1. Рекомендации для сценариев, запускаемых пользователем вручную.

Для сценариев, которые запускаются пользователем вручную рекомендуется выводить сообщение в конце работы сценария – о том, успешно ли он завершен или нет, и с какими результатами.

  1. Рекомендации по разработке сценариев, которые предназначены для работы по расписанию.

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

  • Сценарии, которые предназначены для работы по расписанию, должны при любом варианте своей остановки (плановой или аварийной) приводить системное окружение в то состояние, в котором оно было на момент запуска – для того чтобы последующий запуск этого же сценария произошел корректно. Недопустимо накапливать ресурсы, открытые и не закрытые окна браузеров/приложений и т.д.

  1. Рекомендации по разработке Attended-роботов.

  • Attended-робот должен регулярно информировать пользователя о текущей стадии работы и обрабатываемом документе (сайте и т.д. - в зависимости от логики бизнес-сценария) надписью в верхней части экрана (для этого надо проставить флаг "Отображать в статусе" в блоке "Лог").

  • Необходимо настроить вывод сообщений так, чтобы выводить не более одного сообщения в секунду и не реже одного сообщения в 10 секунд.

  • Наиболее значимая для пользователя часть текста сообщения должна идти первой и помещаться на экране.

  • Вывод сообщений не должен мешать нормальной работе робота, а также взаимодействию пользователя с интерфейсом компьютера, если предполагается что пользователь может работать параллельно с роботом.

  • Допускается не выводить сообщения в тех случаях, когда действия, стадия и прогресс работы робота полностью очевидны из того, что происходит на экране.

  • Выводимые в лог сообщения должны отвечать на следующие вопросы: "что сейчас происходит?", "всё ли идёт по плану", "как скоро это закончится?" или "как быстро обрабатывается заданный объем работы?"

  1. Рекомендации по хранению исходников.

Все исходники всех роботов следует сохранять в аккаунте GitHub. Под каждый проект разработчика будет создаваться подрепозиторий, к которому исполнитель получает доступ.

Last updated