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

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

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

Необходимые условия

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

Процедура

  1. Чтобы получить список объектов, для которых должен быть выполнен рабочий процесс, добавьте в схеме рабочего процесса задачу с возможностью добавления сценариев или элемент действия.
    Например, чтобы запустить рабочий процесс на всех машинах в папке виртуальных машин, можно добавить в рабочий процесс действие getAllVirtualMachinesByFolder.
  2. Привяжите элемент или действие, заданное сценарием, и свяжите входные и выходные данные данного элемента или действия с входными данными или переменными рабочего процесса.
    Например, можно привязать входные данные vmFolder действия getAllVirtualMachinesByFolder к входному параметру рабочего процесса, а выходные данные actionResult — к переменной рабочего процесса в вызывающем рабочем процессе.
  3. Для преобразования списка объектов в массив свойств добавьте элемент Задача с возможностью добавления сценариев.
    Например, если объекты, для которых необходимо выполнить рабочий процесс, являются массивом виртуальных машин allVMs, возвращаемым выходными данными actionResult действия getAllVirtualMachinesByFolder, то для преобразования объектов в массив свойств можно написать следующий сценарий.
    propsArray = new Array();
    
    for each (var vm in allVMs) {
     var prop = new Properties();
     prop.put("vm", vm);
     propsArray.push(prop);
    }
  4. Привяжите входные и выходные данные задачи с возможностью добавления сценариев к переменным рабочего процесса.
    В примере элемента задачи с возможностью добавления сценариев на шаге 3 выполняется привязка входных данных к массиву виртуальных машин allVMs, а затем создается выходная переменная propsArray в виде массива объектов Properties.
  5. Добавьте элемент рабочего процесса в схему рабочего процесса.
  6. Выберите рабочий процесс Последовательный запуск рабочих процессов или Параллельный запуск рабочих процессов и свяжите элемент рабочего процесса с другими элементами.
  7. Чтобы выполнить рабочий процесс в объектах, привяжите к рабочему процессу входные данные wf рабочего процесса Последовательный запуск рабочих процессов или Параллельный запуск рабочих процессов.
    Например, чтобы удалить все моментальные снимки всех виртуальных машин, полученные в результате выполнения действия getAllVirtualMachinesByFolder, выберите рабочий процесс Удаление всех моментальных снимков.
  8. Привяжите входные данные parameters рабочего процесса Последовательный запуск рабочих процессов или Параллельный запуск рабочих процессов к массиву объектов Properties, содержащему объекты, для которых необходимо выполнить рабочий процесс.
    Например, привяжите входные данные parameters к переменной propsArray, определенной на шаге 4.
  9. (Необязательно) Привяжите к переменной в рабочем процессе выходные данные workflowTokens рабочего процесса Последовательный запуск рабочих процессов или Параллельный запуск рабочих процессов.
  10. (Необязательно) Добавьте дополнительные элементы, в которых используются результаты выполнения рабочего процесса Последовательный запуск рабочих процессов или Параллельный запуск рабочих процессов.

Результаты

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