Релизы PIX Master

PIX Master 1.23
1. «Мягкая остановка» робота, управляемая из PIX Master
Механизм "мягкой остановки" предоставляет возможность управлять поведением робота в случае, когда нужно остановить его выполнение из PIX Master.
Сценарий работы:
1. В PIX Master для Задачи устанавливается Флаг завершения задачи.
  • Нажать на контрол "мягкой остановки" (1)

  • Появится значок || "мягкая остановка" (2)

2. Робот проверяет сигнал остановки новой активностью PIX Master "Проверить сигнал остановки" и, получая в ответе "Флаг остановки" = true,
  • выполняет шаги, предусмотренные веткой скрипта при «мягкой остановке»
  • и останавливается активностью "Прервать цикл".

    3. В PIX Master статус остановленной Задачи изменится на «Stopрed» (3).

      Варианты использования:
      • При использовании "Шаблона архитектуры робота" – остановить выполнение скрипта, если элемент очереди данных не соответствует заданным условиям или является последним элементом в обрабатываемой последовательности;
      • В случае если оператор обнаружил, что данные/ресурсы некорректны, и нужно остановить обработку элементов очереди данных - вручную оператором;
      • В случае если необходимо освободить агента от выполнения текущей задачи, не потеряв при этом обрабатываемый элемент очереди данных;
      • Для остановки робота при переводе PIX Master в "Режим обслуживания". Этот режим планируется реализовать в следующем релизе (см. ниже - п. 5).
        2. Процессы. Блок "Ожидание"
        В группе процессов "Базовые" появился блок "Ожидание" (W) для установки задержки перед выполнением следующего блока процесса.
        Параметр "Время ожидания" устанавливается в секундах (T).
        Значение в поле можно настроить как контролом со стрелками, так и ввести вручную.

        3. Планировщик – отображение времени следующих запусков
        В разделе "Планировщик" в таблицу добавлен столбец "Следующий запуск" для отображения времени следующего по расписанию запуска Задач и Процессов (L).
        В шапке раздела появилось отображение параметров следующего запуска – дата-время и наименование Задачи или Процесса (LL).

          4. Фильтрация логов с отбором по времени
          Добавлена возможность фильтрации записей логов по времени с точностью до секунды (чч:мм:cc).
          Изменения сделаны в интерфейсах "История задач", "Логи агентов", "История процессов", "Логи процессов" , "Детали очереди задач", "Детали очереди данных", "Утилизация лицензий" и "Аудит".
          • Теперь стало возможно отбирать записи с указанием временного диапазона (T):

          • Особенность: для отбора записей за определенную дату в фильтре следует указывать дату с нулевым временем = "00:00:00", например - "15.02.2023 00:00:00" (D):

          5. Администрирование | Аварийная остановка агентов и задач
          В разделе "Администратор" появилась новая вкладка [Обслуживание] с переключателем [Аварийный стоп]. При включении аварийного режима происходят следующие события:
          • отключаются все подключенные на данный момент агенты;
          • выполняемые задачи прерываются со статусом "Disconnected";
          • включается запрет на установку подключения Агентов к PIX Master.

            При отключении аварийного режима PIX Master переходит в нормальное состояние.
            • В следующем релизе PIX Master появится "Режим обслуживания", запрещающий новые запуски задач и процессов и обеспечивающий "мягкую остановку" запущенных задач. Также в этом режиме возможно будет задать время задержки перед включением режима аварийной остановки. Таким образом, переключатель [Аварийный стоп] будет срабатывать после завершения действий по "мягкой остановке" задач и процессов.
              6. Изменения API
              6.1. Новые методы API для Планировщиков
              Для получения списка планировщиков с расписанием запуска задач и процессов появился GET запрос:
                
                /api/GetSchedulersList
                
                В запросе возможно использовать параметр groupName для отбора планировщиков, относящихся к определенной группе.

                  Для получения текущего статуса (true/false = активен/неактивен) планировщика с определенным id добавлен GET метод:
                    
                    /api/Schedulers/GetSchedulersActivityStatus
                    

                    6.2. Новый метод API для получения списка Данных
                    Для получения списка Данных добавлен новый GET метод:
                      
                      /api/Data/GetDataList
                      
                      Предусмотрена опциональная возможность отбора Данных по Группе, задавая поле groupName.

                        6.3. Для нескольких методов API добавлена возможность получать объекты в разрезе групп
                        Ранее существовавшие методы GetProjectList и GetTaskList (для получения списков Проектов и Задач) дополнены необязательным параметром groupName для отбора элементов по Группе:


                          В новых методах API GetSchedulersList и GetDataList для получения списка Планировщиков и Данных необязательный параметр groupName для отбора записей по группе предусмотрен изначально.
                            7. Исправлены обнаруженные ошибки
                            Логи | сортировка. Исправлена последовательность отображения событий в логах – сортировка по дате-времени дополнена условием сортировки с учетом идентификатора записи.
                            API | коды статусов. Исправлены коды статуса для запросов с некорректными или пустыми данными в параметрах или теле запроса - теперь API возвращает статус-коды (400, 404), отражающие суть ошибки.
                            Studio - Master | Данные. Исправлено изменение типа данных после работы активности "Записать данные в Мастер" при запуске задачи из PIX Master.
                            Studio - Master | Очереди данных. Исправлена ошибка получения элементов очереди данных при указании в активности "Получить элементы очереди" временного диапазона [Начальная дата добавления элемента – Конечная дата добавления элемента].

                            Фильтры
                            • В интерфейсе Очереди задач / Детали исправлена работа пользовательских фильтров по дате-времени;
                            • Исправлена работа фильтров при выбранном [Наборе фильтров] (A) - теперь после добавления или изменения пользователем фильтров (B) - применение фильтров отрабатывает с учетом актуального состояния всех фильтров, а не сбрасывается к фильтрам, сохраненного [Набора фильтров]:


                              Задачи
                              • Для задач исправлена ошибка сохранения параметров задачи в случае редактирования элементов задач в двух и более вкладках браузера;
                              • Исправлено ошибочное присвоение Задаче Статуса= "Disconnected", хотя Агент, выполняющий задачу в рабочем состоянии и подключен к PIX Master;
                              • Для обеспечения однозначности наименования Задач - добавлена проверка уникальности имени при сохранении новых элементов.
                              Процессы
                              • Блоки группы [Очереди данных]. Устранена ошибка отображения наименования очереди данных в блоках "Добавить в очередь", "Получить из очереди", "Кол-во элементов > N" при изменении наименования очереди данных;
                              • Для обеспечения однозначности наименования Процессов добавлена проверка уникальности имени при сохранении новых элементов Процессов;
                              • Для процессов с несколькими последовательными блоками устранена ошибка при получении значений нескольких блоков, используя выражение $Block.BlockName.Value;

                                • Исправлена ошибка запуска планировщиком процесса с блоками работы с очередями данных.
                                Администрирование
                                • Исправлено отображение ноды, к которой подключен PIX Master. * Нода отображается для роли "Администратор", если в файле конфигурации appSettings.json установлен параметр isCluster = true.
                                  Исправлены прочие ошибки.
                                    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.
                                        • Раздел "Данные" - устранена необходимость экранировать символ "/" (слеш) при указании пути к файлу.