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

Темы событий без возможности блокировки

Темы событий без возможности блокировки позволяют создавать только неблокирующие подписки. Неблокирующие подписки запускаются асинхронно, поэтому не следует полагаться на порядок их запуска. Однако запускающее событие гарантированно происходит, и запускается связанный с подпиской рабочий процесс vRealize Orchestrator. Неблокирующие подписки возвращают ответ только для темы с соответствующей возможностью.

Темы событий с возможностью блокировки

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

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

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

Например, есть подписки на два рабочих процесса подготовки, где второй процесс зависит от результатов первого. В первом из них изменяется свойство во время подготовки, а второй записывает новое свойство, например имя виртуальной машины, в файловую систему. Приоритет подписки на процесс ChangeProperty равен 0, а на процесс RecordProperty — 1, поскольку он использует результаты подписки ChangeProperty. После подготовки виртуальной машины запускается подписка на процесс ChangeProperty. Поскольку условия подписки на процесс RecordProperty основаны на условии, сформированном после подготовки, сообщение инициирует подписку на процесс RecordProperty. Однако поскольку рабочий процесс ChangeProperty является блокирующим, до его окончания сообщение не будет доставлено. После изменения имени и завершения первого рабочего процесса запускается второй рабочий процесс, чье имя записывается в файловую систему.

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

Темы событий с возможностью ответа

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

Ответ может быть выходным значением рабочего процесса vRealize Orchestrator или значением ошибки, если истекло время рабочего процесса или в нем произошел сбой. Если получен ответ от выходных параметров рабочего процесса, он должен быть в правильном формате схемы ответа.