Релизы PIX Master

PIX Master 1.19
1. Интерфейсные и оптимизационные изменения
Изменены иконки для отображения подключенных/отключенных агентов – теперь они отличаются не только цветом, но и самой иконкой.

В формах списков доработано отображение управляющего элемента для экспорта данных в CSV-файл – теперь этот элемент расположен однообразно на всех страницах.

Оптимизирована страница "Логи агентов" - ускорено отображение логов при применении фильтров.
2. Задачи – возможность настройки повторного запуска (создания элемента очереди задач) при неудачном завершении
В задаче появился новый признак для перезапуска задачи в случае неудачи (R).


Для задачи с этим признаком - если элемент связанной очереди задач, завершен со статусом Failed или Timeout, то создаётся новый элемент в очереди задач со статусом New.
3. Переход на .NET 6
С версии 1.19.4 PIX Master переведен на .NET 6 использование более актуальной версии платформы обеспечивает большую производительность приложений и предоставляет новые возможности и инструменты разработчикам PIX Master.

Для работы PIX Master необходимо установить Hosting Bundle для работы с приложениями .Net.
Инструкция по установке
4. Исправлены обнаруженные ошибки
  • Устранена ошибка не-выполнения процесса с несколькими одинаковыми задачами – теперь процесс выполняется последовательно в соответствии с его диаграммой.
  • Исправлено управление конкурентными лицензиями – доработаны механизмы освобождения лицензий агентами.

PIX Master 1.18
1. Очереди данных

1.1. Статистика по очередям данных
Для мониторинга работы очередей данных в разделе "Очереди данных"/ "Детали" добавлены панели показателей по выбранной очереди (1). Показатели представлены в двух группах:
Текущие значения (2):
• текущее количество элементов очереди - новых и обрабатываемых;
• среднее время пребывания элементов в очереди и обработки за последние 24 ч (с).

Значения за выбранный период (3) – период выбирается в быстром фильтре:
• количество элементов обработанных нормально, с ошибками и переведенных в статусы Timeout и Canceled;
• среднее время в очереди и в обработке – в секундах. В секции также отображается дата-время актуальности показателей (4).

Панели показателей с количеством элементов кликабельны, при клике - передаются значения Статус или Тип ошибки в соответствующие фильтры (5).
1.2. Клонирование элемента очереди данных
В разделе "Очереди данных" / "Детали" для элемента добавлена операция клонирования (С), при которой появляется форма редактирования элемента с полями "Значение", "Приоритет", "Ссылка", "Комментарий", "Крайний срок обработки" и "Отложить до". При сохранении создастся элемент в статусе "New".


1.3. Снятие ограничения для максимального времени обработки элемента очереди
Возможно не ограничивать время обработки элементов очереди – для этого администратору необходимо в разделе "Администратор" / "Настройки" установить нулевое значение параметра:
• "Максимальное время обработки элемента очереди данных (час.)" = 0.
* стандартное значение = 24 часа.

2. Задачи – заполнение значений параметров в задаче

Для задач существует функционал по привязке параметров задачи к "Данным". Теперь добавлен вариант заполнения значений параметров непосредственно в задаче, сохраненные значения параметров учитываются при выполнении задачи. Как и ранее, в интерфейсе редактирования "Задачи" параметры - возможно загрузить из проекта или добавить по кн.[+Добавить параметр] (P). Заполнение параметров задачи теперь возможно двумя вариантами:

• Для параметра возможно, как и ранее, заполнить ссылку на элемент "Данные", выбрав [Источник данных] ="Данные" и элемент данных из списка [Данные.Ключ] (D). Для информации отобразятся Данные.Значение и тип данных для этого значения.
Новое. Если для параметра требуется установить значение, то для [Источник данных] следует выбрать "Значение" и ввести значение в соответствующее поле (V), принимая во внимание тип данных.

3. Изменения функциональные и интерфейсные

3.1. Авто-отбор актуальных записей логов за последние 24 ч
При открытии форм списка журналов событий ("Задачи/Логи", "Задачи/История", "Процессы/Логи", "Процессы/История" и "Аудит") теперь авто-устанавливается ограничение по периоду - за "Последние 24 часа". Это сделано для ускорения получения актуальных записей лога, а не всех – как было ранее.

3.2. Хранение логина и пароля в зашифрованном виде
К существующему типу данных Credential, используемого для хранения пароля - добавлен тип данных AuthCredential, позволяющий хранить в зашифрованном виде логин и пароль.

Методы API для вызова Credential данных не изменились.
Для использования данных AuthCredential через API / Studio нужно отправлять JSON строку вида:
• {"login":"<value>", "password":"<value>"}.
3.3. Отключение Агента в интерфейсе PIX Master
В разделе "Агенты" добавлен контроль для отключения Агента, подключенного к PIX Master.

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

Ограничением возможно управлять администратору – для этого в разделе "Администратор"/"Настройки" в секции [Настройки экспорта в CSV] изменить значение поля "Лимит количества строк при выгрузке в CSV". Значение по умолчанию - 10 000.
4. Master в отказоустойчивом варианте

Для обеспечения отказоустойчивости и горизонтальной масштабируемости реализована возможность работы нескольких экземпляров Master в кластерном режиме.
Схема основана на использовании:
  • Балансировщика сетевой нагрузки (NLB), благодаря которому запросы от Клиента (веб- браузер) и Агентов динамически маршрутизируются между несколькими узлами кластера;
  • Базы данных Redis - для синхронизации и хранения состояний агентов;
  • Реплицируемой базы данных PostgreSQL - для данных и метаданных Master

    5. Изменения API для задач

    Появился новый API для запуска задачи по Наименованию:
    • POST /api/Tasks/StartTaskByName?taskName={taskName}
    Новый метод API является альтернативой запуска задачи по ID задачи (POST /api/StartTask).
    Добавлен метод API для получения списка задач:
    • GET /api/Tasks/GetTaskList
    5. Исправлены обнаруженные ошибки

    • Исправлены ошибки интерфейса:
      o переход между формами списков с передачей фильтров;
      o применение настроек фильтрации при переходе на следующую страницу при пагинации;
      o вертикальное смещение чек-бокса относительно его подписи в окне авторизации;o отображения длинных строковых значений для "Данных": в форме списка и выпадающих списках длинная строка теперь обрезается; в форме элемента - выводится многострочное поле со скроллом.
    • В "Планировщике" устранено смещение CRON выражения на -3 часа при неудачном сохранении шаблона расписаний, например, при создании дублей записей CRON-выражений.
    • Устранена ошибка, когда после удаления агента из PIX Master приложение агента подключается к уже удаленному в Master агенту.
    • Исправлена ошибка невозможности открыть раздел "Редактировать пользователя" без прав администратора, что требуется для смены пароля пользователем.
    • В разделе Администрирование \ Настройки устранена ошибка проверки подключения к почтовому серверу.

    Исправлены прочие ошибки.

      Анонс релиза - 5 сентября 2022
      PIX Master 1.17
      1. Формы списков – управление фильтрацией и выгрузка данных

      1.1. Управление отборами/фильтрами для форм списка.
      Существенно расширен функционал по управлению отборами/фильтрами.
      Панель фильтров теперь содержит две секции:
      1) новую - с предустановленным набором полей фильтрации
      2) доработанную секцию - для настройки дополнительных условий фильтрации пользователем.
      Предустановленные фильтры (1) включают:

      - поле для поиска по всем строковым полям с условием поиска "Содержит" (эквивалентно like '%пстр%' в SQL);
      -для логов - поле поиска по дате-времени с выбором из готовых шаблонов: "Последний час", "Последний день", "Последняя неделя", "Последние 30 дней".
      -типичные поля фильтрации, специфичные для каждого интерфейса.

      Секция дополнительных условий фильтрации (3) предназначена для настройки пользователем произвольных полей и условий:
      - поля для фильтрации возможно выбирать из списка всех полей таблицы, добавлять по кнопке [+] и настраивать для каждого поля условия сравнения;
      - несколько условий [поле + условие для поля] связываются оператором "И".

      Для обновления таблицы формы списка с учетом выбранных фильтров необходимо нажать кнопку [Применить] (2).

      Пользовательские наборы фильтров. Теперь дополнительно стало возможно сохранять пользовательские наборы фильтров. При сохранении по кнопке [Сохранить] (4) – необходимо задать имя набора фильтров, для этого набора сохранятся все выбранные и настроенные условия фильтрации.
      Сохранённый набор фильтров возможно выбирать из списка, отображаемого по кнопке (5).

      Имя выбранного набора фильтров отображается рядом с заголовком интерфейса - см. (6).
      Чтобы поделиться с другими пользователями настройками фильтрации, возможно использовать URL из строки браузера – в этом URL есть идентификатор набора фильтров.

      1.2. Выгрузка данных в файлы.
      Для форм списков добавлена возможность выгрузки в CSV-файл.

      2. Очереди данных – изменения
      Расширены функции по управлению статусами элементов очереди - добавлены параметры и условия для перевода элементов в статус TimeOut и метод API для создания нового элемента копированием элемента в статусе TimeOut.
      2.1. Условия для перевода в статус TimeOut
      Добавлен глобальный для PIX Master параметр "Максимальное время обработки элемента очереди данных (ч)".
      Обычно этот параметр равен 24 часам, но его возможно изменить в административных настройках (Master -> Администратор -> Настройки -> Настройки очередей данных).
      Этот параметр влияет на перевод в статус TimeOut по условию:
      Время в очереди > Макс. время обработки элемента очереди данных (ч)
      Cм. условие (A) – на схеме изменения статусов: "New" -> "TimeOut" и "Processing" -> "TimeOut"


      Для очереди данных добавлен параметр "Максимальное время обработки элемента очереди в статусе Processing (мин.)" (P).

      Если время обработки в статусе Processing превысит величину этого параметра, то элемент будет переведен в статус TimeOut - см. путь (1) на схеме изменения статусов ниже.


      2.2. Создание копии для повторной обработки элемента
      Статус=TimeOut для элементов очереди считается конечным.
      Однако, если элемент нужно повторно обработать, возможно создать его копию в статусе=New, используя API - см. (2) на схеме изменения статусов выше:
      - метод POST API/Queues/RetryTimedOutItem с параметрами id - идентификатор элемента очереди, PostponeDate (опционально), DeadlineDate (опционально)
      2.3. Процессы группы "Очереди данных" – добавлен блок "Количество элементов > N"
      Новый блок "Количество элементов > N" используется для ожидания накопления определенного количества необработанных элементов очереди, после чего передает управление следующему за ним блоку процесса.
      В блоке для указанной очереди необходимо настроить параметры "Минимальная длина очереди" и "Время обновления", опционально возможно настроить дополнительные условия отбора – "Ссылку", "Приоритет", "Комментарий".


      Пример использования. При накоплении необработанных элементов очереди > N помимо обычно работающего Процесса-1, требуется подключить к обработке очереди Процесс-2 (аналогичный Процессу-1, но использующий другого Агента) - тогда в начало Процесса-2 нужно добавить блок "Количество элементов > N".
      2.4. Очереди данных – для таблицы "Детали" добавлены поля "Тип ошибки", "Сообщение ошибки"


      3. Процессы группы "Почта" - блок [Мониторинг почты]
      Добавлена опция "Оставлять письмо непрочитанным".

      4. Доступ пользователей - аутентификация через Active Directory
      Для реализации требований информационной безопасности и расширения мультиплатформенных возможностей добавлены функции:
      -интеграции со службой Active Directory при хостинге на Linux-платформах,
      -автоматического входа в Master, с использованием учетной записи из AD,
      -ограничения списка пользователей AD и настройки авторизации только через AD.

      4.1. Ограничение для списка пользователей Active Directory.
      Добавлена
      возможность ограничивать отображение пользователей AD – в списке отображаются пользователи после ввода N-символов подстроки имени пользователя
      (см. 1 и 2).

      Параметр, управляющий отображением пользователей в списке - "Минимальное количество символов для начала поиска подходящих пользователей AD" заполняется в Администратор \ Настройки \ Настройки безопасности.

      4.2. Опция входа только через Active Directory
      Опция "Вход только через AD" устанавливается в конфигурационном файле Master'a.
      Если опция включена, то:
      • при регистрации нового пользователя доступен для ввода только его логин AD, электронная почта, роли и группы;
      • пользователи входят в Master без ввода учётных данных (логина и пароля), авторизуясь через AD.
      Ограничение: опция доступна только при хостинге Master'a на IIS сервере с поддержкой Windows-аутентификации.

      4.3. Интеграция с Active Directory при размещении Master на ОС Linux
      Опция "Интеграция с AD" устанавливается в конфигурационном файле Master'a.

      4.4. Подключение Studio к Master, используя учетные данные пользователя Active Directory
      Доработано подключение Studio к Master - стало возможным подключаться под учетными данными пользователя Active Directory, привязанными к пользователям Master'a.

      5. Проверка состояния подключения Агентов к Master
      Реализован механизм постоянной проверки состояния Агентов, подключённых к PIX Master.
      Контроль состояния Агентов со стороны Мастера осуществляется в автоматическом режиме несколько раз в минуту, что позволило повысить качество и точность мониторинга за подключенными Агентами, а также предоставить конечному пользователю актуальные данные о состоянии Агентов.


      6. Исправлены обнаруженные ошибки
      Исправлены ошибки в Шаблонах расписания:
      - при сохранении шаблона с типом Календарь;
      - при открытии интерфейса Шаблоны расписания при отсутствии в нем элементов;
      - запуска задач и процессов по расписанию, если в Планировщике установлено условие "Каждое первое число месяца".

      Исправлено применение фильтров для форм списков на ОС Linux.

      Исправлены прочие ошибки.
      Анонс релиза - 22 июля 2022
      PIX Master 1.16
      1. Изменен интерфейс PIX Master

      Изменена панель разделов:
      – разделы перегруппированы, группы отделены друг от друга горизонтальными линиями;
      – настройка языка интерфейса переехала в новый раздел [Настройки] (U). В будущем в этом разделе появятся настройки для управления темами и элементами интерфейса самими пользователями.

      Изменены формы списка разделов:
      Изменено оформление шапки таблицы, добавлены указатели направления сортировки в виде стрелки в заголовке столбца (1), доработаны правила адаптивности ширины столбцов, гиперссылки для "операций" заменены на иконки (2), доработаны шрифты и цветовое оформление.
      Изменена сортировка таблиц логов – сначала выводятся последние по времени появления записи.

      Изменены формы добавления, редактирования и удаления элементов:
      – наименование и значение полей теперь расположены рядом - по горизонтали.
      *) для узкого окна/экрана монитора эти поля адаптируются, размещаясь одно под другим;
      – унифицировано оформление заголовков, полей и контролов.

      Изменен интерфейс для раздела "Процессы".
      Доработано оформление полей, управляющих элементов и диаграммы процессов.

      Блоки процессов в панели [Блоки] теперь представлены в виде дерева с группами и элементами.

      Изменено оформление блоков на диаграмме - блок окрашен в цвет группы и имеет иконку, уникальную для типа блока.

      Изменены интерфейсы "Планировщик" и "Шаблоны расписания".
      Для "Планировщика" стало возможно изменять признак [Активен] в форме списка, не открывая форму редактирования элемента (A).

      В "Планировщике" и "Шаблонах расписания" шаблоны теперь выводятся в более понятном для пользователя виде (C) - ранее выводилась строка Cron-выражения.

      2. Очереди данных - добавлены поля и функции по управлению приоритетами, статусами, временным окном и повторными попытками обработки

      2.1. Новые функции и поля: "Приоритет", "Отложить до", "Крайний срок", "Ссылка", "Комментарий".
      Для очередей данных добавлены поля, методы API и функционал:
      • для управления приоритетом обработки элементов очереди – поле "Приоритетом" (P – на рисунке). Значение = "Низкий", "Средний", "Высокий" устанавливается инициатором помещения в очередь и учитывается при обработке элементов очереди.
      По умолчанию, если приоритет не задан, то устанавливается "Средний" приоритет.
      • для управления Временным окном, предусмотренным для обработки элемента очереди данных
      o "Отложить до" | Postpone (O) - не обрабатывать до Дата-Время
      o "Крайний срок" | Deadline (D) - не обрабатывать после Дата-Время, если к строка очереди не была обработана до крайнего срока, то её статус будет изменен на Статус="TimeOut"
      • управляющее поле "Ссылка" | Reference ID (R) устанавливается инициатором помещения в очередь и учитывается при обработке элементов очереди. Это поле может использоваться для привязки транзакций, выполняемых роботом к сущностям/транзакциям другой системы, а также для группировки / отбора деталей очереди и других целей, определяемых разработчиком роботов.
      Если установлен признак "Ссылка должна быть уникальной" (r), то при помещении детали с заполненной "Ссылкой" система проверит уникальность ссылки и при не уникальности не поместит строку в очередь данных, записав в лог ошибку.
      • поле "Комментарий" | Comment (C) строковое поле, может использоваться по усмотрению разработчика роботов.

      Описанные выше поля возможно устанавливать тремя способами:
      - используя API,
      - настраивая блок процесса [Добавить в очередь],
      - настраивать в Studio, используя активность [Поместить элемент в очередь] *)
      Значения новых полей возможно получать и учитывать в скрипте/процессе/задаче:
      - используя API,
      - настраивая блок процесса [Получить из очереди] ,
      - настраивать в Studio, используя активность [Получить элемент из очереди] *)
      * новые поля в активностях будут доступны в PIX Studio версии 2.10 и выше.
      2.2. Управление максимальным временем обработки элемента очереди.

      В настройки очереди данных в PIX Master добавлен параметр Максимальное время обработки элемента очереди (минут), ограничивающий время обработки элемента очереди, по истечении этого времени (с момента начала обработки элемента очереди) обработка прервется и статус элемента изменится в TimeOut.
      2.3. Управление попытками обработки элемента очереди при ошибке выполнения (Retry).
      Появился новый функционал для осуществления повторных попыток обработки элемента очереди данных.
      В PIX Master для определенной очереди данных возможно установить флаг "Использовать попытки" и настроить параметры для повторных попыток обработки:

      - Максимальное количество попыток обработки - система при ошибке обработки элемента очереди будет предпринимать повторные попытки, а при достижении максимального количества неудачных попыток установит Статус элемента в Failed;

      - Задержка для попытки обработки (секунд) – повторная попытка будет выполнена не ранее чем через установленный интервал времени, по умолчанию =0;

      - Помещать элемент в конец очереди при повторении обработки – система при отборе элементов очереди для обработки будет сравнивать время предыдущей попытки для этого элемента с временем помещения в очередь других еще необработанных элементов.

      2.4. Новые поля добавлены в Лог обработки

      Новые поля отображаются в Логе обработки, который выводится для выбранной очереди данных на закладке [Детали]

      2.5. Добавлены статусы обработки, методы и правила изменения статусов:
      "Failed" ("Завершен с ошибкой" / "Неудачное завершение"). При неуспешном завершении статус изменяется на "Failed".
      "Canceled" ("Отменен"). Добавлен метод API для изменения Статуса элемента очереди из "New" в "Canceled".
      Схема процессов по управлению очередями и переходы статусов - см. на рисунке:

      3. Очереди задач – добавлен параметр "Тип очереди"
      В настройки очереди задач добавлено поле "Тип очереди".
      Значения – "Строгая" и "Гибридная" выбираются из выпадающего списка (по умолчанию - "Строгая").

      Для типа "Строгая" – последовательность назначения задач определяется СТРОГО временем добавления задачи - новая задача назначается Агенту только, если выполнена предыдущая задача.
      Для типа "Гибридная" – Мастер назначает Агенту ближайшую подходящую задачу, но без строгого соблюдения очередности.

      В таблице - пример, поясняющий Гибридный тип очереди. Если Агент_B выполнил Задачу-2, а следующая задача предназначена для другого Агента_А, то пропустив эту Задачу-3 Мастер назначит Агенту_B подходящую ему Задачу-4.

      4. Данные – сняты ограничения на длину полей и добавлена инфо о "Связанных задачах"
      Убрано ограничение на длину для полей "Ключ" (Key) и "Значение" (Value): типы данных nvarchar(max) в MSSQL и text в PostgreSQL.
      - Добавлена возможность задать <пустое значение> для поля "Значение" (Value).
      - В редактирование элемента "Данных" добавлен блок "Связанные задачи" (J).

      5. Администрирование – расширены настройки почтового сервера
      В Администратор \ Настройки дополнены и сгруппированы поля для настройки параметров почтового сервера для протоколов SMTP и IMAP.

      Добавлена возможность настройки опций:
      - Использовать разные учетные данные SSL-шифрование для SMTP и IMAP
      - Использовать SSL-шифрование для SMTP
      - Использовать SSL-шифрование для IMAP
      - Использовать анонимную аутентификацию для SMTP.
      Отмечены (символом *) и проверяются при сохранении поля, обязательные для заполнения.

      Дополнительно реализована возможность подключения к почтовому серверу, использующему само-подписанный сертификат.

      6. Оповещение пользователя по email при завершении задачи с ошибкой
      При возникновении ошибки, если задача завершается со статусом "Failed" - на адрес электронной почты, указанный в настройках пользователя, от имени которого выполнялась задача/процесс, отправляется письмо с информацией об ошибке:

      7. API для управления планировщиком
      Создан API для управления Планировщиком – возможно делать активной/неактивной строку планировщика с определенным ID.

      8. Исправлены обнаруженные ошибки
      • Исправлено отображаемое в списке время (часы) Cron выражений – было с учетом часового пояса.
      • Устранена ошибка получения лицензии Студии из Мастера.
      • Исправлены прочие ошибки.


      Анонс релиза - 13 мая 2022
      Описание нового функционала
      PIX Master 1.15
      1. Очередь запуска задач
      Появился функционал по управлению очередями задач – при работе мастера задача ставится в очередь на выполнение, если для нее это настроено.
      Для задачи возможно настроить:­
      - привязку к "Очереди задач"
      - тайм-аут ожидания в очереди (в минутах)
      Для очереди настраиваются "Название", "Описание" и список "Лицензий роботов".
      На закладке [Детали] отображается информация по логам выполнения для выбранной очереди:


      2. Календарь для шаблонов расписания

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

      Для расписания с типом = "Calendar" (1) возможно настроить рабочие дни вручную (4) или загрузить файл (2) с Производственным календарем, например, с сайта https://data.gov.ru/ (3).

      3. "Процессы" - новые блоки для интеграции с брокерами сообщений Kafka и RabbitMQ.

      В "Процессы" добавлены блоки, которые мониторят события внешних брокеров сообщений Kafka и RabbitMQ. Логика, по аналогии с очередями – получать оповещения от брокера передавать данные следующему блоку процесса.

      4. Монитор. Возможность перемещать диаграммы.

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

      5. На странице версий проекта добавлена сортировка по полю "Версия".

      6. В интерфейсы "Проекты" и "Агенты" добавлены панели [Связанные задачи], в которых отображаются задачи, где используется выбранный проект или агент.

      7. Появилась опция поиска пользователя для списка ActiveDirectory

      8.Расширен API для Проектов (см. API проектов)
      :
      - добавлен метод по созданию нового проекта.
      - добавилен параметр IsActual, который в случае =True помечает последнюю загруженную версию как актуальную.
      9. Исправлены обнаруженные ошибки:
      • Исправлены ошибки работы с проектом в Linux
      • Устранена ошибка зависания процесса в блоке "Подтверждение" для почтового сервера mail.ru
      • Для схемы процесса убрано ограничение по количеству символов в наименовании блока схемы.
      • Устранена ошибка получения списка проектов в PostgreSQL.
      • Раздел "Данные" - устранена необходимость экранировать символ "/" (слеш) при указании пути к файлу.