Релизы PIX Master

PIX Master 1.22
Служба управления агентами
В PIX Master 1.22 и PIX Studio 2.15 разработан функционал для управления агентами, а именно:
  • реализовано объединение PIX Agent'ов в именованные группы ­­ – «Машины»;
  • реализована связь нового режима «Машины» с конкретной утилитой, запускающей Агентов в отдельных сессиях;
  • добавлена возможность запуска и завершения Агентов в новой сессии из режима Машины по команде из Мастера;
  • добавлена возможность запускать задачи в новой сессии.

Для управления машинами (запуском и остановом) необходимо:
  • установить утилиту AgentHostService.exe,
  • указать параметры подключения в файле:
    C:\Program Files (x86)\PIX\Agent Host\appsettings.json.

Запуск утилиты запускает привязанную к ней Машину.

Привязку Агента к Машине (M) возможно настроить в форме редактирования Агента.

В интерфейсе «Машины» возможно получать информацию о статусе агентов (S), а также при необходимости управлять запуском/завершением сессий агентов вручную (O).

Для управления агентами разработана «Служба управления агентами», которая обеспечивает запуск и завершение работы PIX Agent'ов в новых сессиях по команде из Мастера.
Агенты, привязанные к Машине, запускаются Службой и подключаются к Мастеру автоматически при соблюдении следующих условий:
  • агент, на котором должна выполниться задача находится в статусе офлайн;
  • задача должна быть привязана к очереди задач (Q), и для задачи установлена новая опция «Запускать в новой сессии» (N).


В результате в новой сессии автоматически запустится агент, выполнится экземпляр задачи из очереди задач, и сессия автоматически завершится.
PIX Master 1.21
1. Настраиваемые роли - для управления доступом к объектам PIX Master
Добавлен функционал по управлению ролями доступа пользователей к интерфейсам, объектам и ресурсам Master.

В настраиваемой роли пользователя для каждого объекта/ресурса возможно установить уровень доступа CRUD (Create – Создание, Read – Просмотр,
Update – Изменение, Delete – Удаление) в матрице доступа.

*Для некоторых операций: запуск задач, скачивание проектов, включение-и-отключение агентов и т.п. специфический ресурс управления в матрицу не добавлен и доступ управляется опциями Read/Update для объекта.

Доступ контролируется при открытии объекта из интерфейса, переходе по ссылке или URL, операциях создания, изменения, удаления и других, включенных в матрицу.

Три базовые роли (Admin, Developer, Business Analyst) поставляются с PIX Master (B).
Для роли Admin доступно всё, и функции проверки доступа отключены.
Для ролей Developer, Business Analyst матрицы доступа преднастроены - их можно просматривать, но нельзя редактировать, т.е. эти роли нередактируемые. Текущие настройки доступов для этих ролей см. Приложение 1.

Настраиваемые роли (N) возможно добавлять, редактировать и удалять. Операция [Удаление] сопровождается проверкой, что роль не задана ни одному пользователю.



2. Управление блокировкой пользователей
Появился функционал, позволяющий блокировать доступ пользователей в PIX Master. Блокировкой пользователей возможно управлять, изменяя Статус «Активен» на «Заблокирован».
В форме списка пользователей добавлено поле с фильтром для быстрого отбора пользователей по статусу.



3. Интерфейсные изменения для фильтров

Применение "быстрых фильтров" теперь происходит сразу после ввода / выбора значения (Q), т.е. без необходимости нажимать кнопку [Применить].
Изменен контрол для выбора «Набора фильтров» (FF).
Осуществлены прочие небольшие интерфейсные изменения.



4. Процессы. Для блока [Задача] добавлен выбор источника данных с типом Value (значение)

В параметрах блока "Задача" в выпадающем списке источников данных появилось поле "Value" (V), которое позволяет пользователю ввести необходимое для задачи значение.



5. Планировщик. Добавлена информация об агентах, подключенных к выполнению задачи
При наведении курсора на задачу появляется всплывающая подсказка со списком агентов:



6. Аудит. Расширено логирование действий пользователей
Для отчета "Аудит" расширено логирование действий пользователей - при следующих действиях сохраняется и выводится в поле «Комментарий» важная для инфо-безопасности информация:
  • При неудачной попытке авторизации - указывается email/login;
  • При создании нового пользователя выводится его роль;
  • При регистрации события Login в аудите - версия браузера, с которой осуществлялся вход и операционная система.

  • При редактировании настроек в разделе Администратор/Настройки - все изменения. Например, при изменении Групп доступа (Groups) - записи аудита будут содержать подробности по изменениям:

  • При изменении пользовательской роли/ролей - добавленные и удаленные роли:



7
. Исправлены обнаруженные ошибки
  • Скорректирована проверка лицензии PIX Master при запуске задач.
  • Исправлена ошибка, при которой для запущенной Задачи или Процесса статус менялся на Disconnected, хотя агент был подключен и в рабочем состоянии.
  • Исправлено зависание Задачи в статусе InProgress после ручного запуска задач.
  • Устранена ошибка зависания агентов и задач в статусе InProgress при одновременном добавление задач в очередь задач.
  • Процессы. Устранена ошибка отображения данных, когда сразу после обновления страницы браузера в настройках блоков диаграммы процесса некоторые поля с данными отображались пустыми.
Исправлены прочие ошибки.

Приложение.
Настройки доступов к ресурсам для базовых ролей, поставляемых с PIX Master.

PIX Master 1.20
1. Очереди данных V2 - новая версия
В PIX Master 1.20 и PIX Studio 2.14 появилось несколько важных изменений по очередям данных, заметно расширяющих функционал, что позволяет говорить о новой версии - V2.
На рисунке ниже представлены операции, управляющие очередями данными, и переходы статусов. Отмечено новое и изменённое для новой версии.

Основные изменения для "Очередей данных V2" описаны ниже.
(И-1) Расширены варианты хранения данных для элемента очереди. В дополнение к полю [Данные] добавлено три поля с типом text:
  • [InputData], [OutputData] (text) - для хранения входных и выходных данных в виде сериализованного словаря Dictionary.
  • [Table] (text) - для хранения табличных данных в виде сериализованной таблицы DataTable.

(И-2) Дополнительные настройки стратегии уникальности элементов очереди
Для управления уникальностью значений Ссылок (Reference) для элементов очереди ранее и сейчас используется признак [Уникальность ссылки], устанавливаемый активностью в PIX Studio [Поместить элемент в очередь]. Теперь в дополнение к этому признаку для очереди данных в PIX Master добавлены (U) два свойства:
  • флаг [Проверять уникальность ссылок];
  • список [Статусы, в которых проверять уникальность ссылок],
обеспечивающие новые и гибкие настройки стратегии уникальности для всех операций по добавлению новых элементов в очередь:
  • при добавлении элемента в очередь проводится поиск среди уже существующих элементов по ссылке и списку статусов. Если элемент найден, то новый элемент добавлен не будет.

(И-3) Для регистрации детальной информации об ошибках/исключениях при обработке элемента очереди данных кроме ранее существующих полей ErrorType и ErrorComment добавлено поле ErrorDetails, содержащее Exception.StackTrace*.
* Свойство StackTrace возвращает кадры стека вызовов, которые происходят в месте, где было создано исключение. Говоря другими словами, это список методов, которые были вызваны до момента, когда в приложении произошло исключение.

(И-4) Добавлены поля для хранения Времени в очереди и Времени в обработке для успешно обработанных элементов.
  • Время в очереди (в базе данных - DurationTotal) – общее время в секундах от помещения элемента в очередь (Статус=New) до успешной обработки элемента (Статус=Processed);
  • Время в обработке (DurationProcess) – учитывает время обработки элемента от статуса Processing до Processed, в секундах.
    В случае попыток (Retry) или повторения вручную учитывается суммарное "чистое" время обработки.
Заранее рассчитанные и сохраненные значения используются для получения статистики по очереди данных за выбранный период, в том числе для определения элементов, обработанных с превышением максимального допустимого времени, так называемого параметра "SLA".

(И-5) SLA для времени на обработку с момента появления в очереди
Для очереди стало возможно задать максимальное допустимое время на обработку (L, в секундах) с момента появления в очереди. Этот параметр служит для определения элементов очереди данных, обработанных с нарушением/превышением SLA.

Статистика по количеству таких случаев выводится в панелях показателей (S) для деталей очереди данных.

(И-6) Изменения API и активностей PIX Studio 2.14 для работы с очередями данных
Добавлены новые, расширенные по сравнению с существовавшими, методы API (к их наименованию добавлен суффикс Ext) и активности PIX Studio ­– для использования новых полей с данными, учета новой стратегии уникальности ссылок и поддержке других изменений.
Также добавлены новые методы и активности для операций:
  • установить комментарий для элемента;
  • отложить обработку элемента очереди до дата-время.
Доработаны существовавшие ранее API и активность для операции "Получение элементов очереди".
Подробнее – см. Приложения. Очереди данных V2. Изменения API и Активностей в PIX Studio.

(И-7) Для API:[PushElementToQueueFromBodyData] добавлен параметр createNewQueue (= false), который определяет, создавать ли новую очередь данных, если очередь по названию не найдена.
  • Если очереди с queueName не существует и createNewQueue = true, то создастся новая очередь данных и элемент добавится в эту новую очередь.
  • Если очереди с queueName не существует и createNewQueue = false, то новая очередь данных не создастся и в ответе вернется ошибка



2. Очереди данных и процессы
Масштабирование обработки очереди данных.


Реализован процесс с триггерами и параллельной обработкой очереди данных очередью задач.

Диаграмма процесса включает:
  • блок [Количества элементов > N] - для получения количества необработанных элементов очереди
  • и два блока [Распределить для обработки].
    Первый блок [Распределить 1] срабатывает, если есть необработанные элементы очереди, второй блок [Распределить 2] - по условию[если количество элементов очереди данных больше заданного параметра], при этом [Распределить 2] формирует элементы очереди задач с Задачей, отличной от блока [Распределить 1].
Таким образом, при достижении заданного порога по количеству необработанных элементов к их обработке подключается вторая задача.

Для реализации этого процесса сделаны следующие доработки.
Изменения для процессов:
Блок [Количество элементов > N] (Q) теперь возвращает:
  • количество элементов в очереди данных;
  • ID очереди данных.
Добавлен новый блок [Распределить для обработки], который распределяет элементы очереди данных (D) для обработки задачами (T) из очереди задач с учетом нового параметра в задаче [Максимальное количество необработанных элементов очереди задач] (M).


Параметр [Максимальное количество необработанных элементов очереди задач] = 1 в задаче также возможно использовать для ограничения создания новых элементов очереди задач, если элемент с этой же задачей и статусом «New» в очереди уже есть. Эта функция не относится к обработке очередей данных, но может быть полезна с точки зрения управления очередями задач вообще.

Для Очереди задач добавлено поле связанная "Очередь данных" (D) для указания, какую очередь обрабатывать Задаче.




3. Процессы
3.1. Блок [Получить из RabbitMQ] - возможность задать параметры из Данных

Для всех полей блока [Получить из RabbitMQ] добавлена возможность задать и получать параметры из Данных.
* Дополнительно возможно
  • вводить поле с параметром "тег" в виде $подстрока для поиска элементов Данных и отображения их в виде списка (см. рисунок);
  • соединять несколько строк из Данных.
Например, если d1 = "local", d2 = "host", то при указании $d1$d2 - значение будет = "localhost".

Тип данных не важен. Главное, чтобы значение совпадало с легитимными данными из RabbitMQ:
  • порт можно задать в int и string,
  • пароль - string, credential и т.п.

3.2. Логи процессов. Добавлены столбец и фильтр с наименованием процесса
Для отображения, поиска и отбора процессов - в интерфейс [Логи процессов] добавлены столбец (P) и фильтр (F) с наименованием процесса.

4. Изменения API
4.1. API для добавления элемента в Данные

Для добавления новой записи в Данные доработан метод API SetValueByKey | "Установка значения данных по ключу":
  • POST /api/DataApi/SetValueByKey
Ранее возможно было добавлять/изменять Значение (Value) для записи с определенным Ключом (Key). Теперь возможно создать новую запись, установив и Ключ и Значение, а также добавить описание и тип данных.
В метод добавлены два необязательных параметра:
  • Description – описание новых данных (text),
  • Type – тип новых данных (int).
Числа в Type соответствуют типам:
0 – Text,
1 – Int,
2 – Bool,
3 – SecureData,
4 – AuthCredential.
По умолчанию тип Text (Type=0).

4.2. Новый API для проверки статуса хоста
Реализован новый API для проверки статуса хоста.
На запрос "http://Host_IP/status" или "https://Host_IP/status"
  • возвращается статус "200",
  • на веб-странице выводится сообщение "Healthy" при запуске через браузер.

4.3. Авторизация в API Master через ActiveDirectory
Для работы методов API PIX Master добавлен вариант авторизации через учетную запись ActiveDirectory, что важно для выполнения требований информационной безопасности.



5. Исправлены обнаруженные ошибки
Очереди данных.

  • Устранена проблема возможного взятия для обработки одного-и-того-же элемента очереди данных разными агентами при их параллельной работе с одной очередью данных - добавлены механизмы конкурентной блокировки элемента.
  • Если для очереди данных установлено условие [Использовать попытки], то при неуспешной попытке обработки элемента с типом ошибки "Бизнес" повторные попытки запускаться не будут, ибо бизнес-исключение проявится вновь.
Процессы с блоками группы [Очереди данных].
  • Исправлена ошибка работы блока [Кол-во элементов > N] при количестве элементов = N.
  • Исправлена ошибка исполнения процесса, если в процессе используется последовательность блоков [Добавить в очередь] и [Получить из очереди].
Планировщик. Исправлена ошибка запуска задач и процессов вне рамок CRON-выражения из-за того, что в некоторых случаях при "переходе дат" не учитывался часовой пояс.

Данные – хранение логина и пароля. Логин и Пароль хранятся в одном Credential.
Пароль, как и ранее, в SecureString, для Логин тип изменен на String.

Управление получением-освобождением лицензий. Исправлены ошибки получения лицензий, а также добавлены фоновые задачи для освобождения лицензий, отключения "зависших" задач и агентов.

События аудита при авторизации через AD.
Исправлено заполнение события Login во вкладке "Аудит" при использовании авторизации через ActiveDirectory.

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



Приложение. Очереди данных V2. Изменение API и активностей в PIX Studio

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.
      • Раздел "Данные" - устранена необходимость экранировать символ "/" (слеш) при указании пути к файлу.