À medida que os playbooks aumentam em complexidade, concentrar todas as ações em um único playbook dificulta a manutenção e a reutilização. O componente TriggerPlaybook permite dividir playbooks grandes em sub-playbooks modulares: um playbook principal chama um sub-playbook, transmite dados de entrada e lê a saída resultante. Essa abordagem mantém cada playbook focado e reutilizável em diferentes fluxos de trabalho.
O componente oferece duas ações integradas:
|
Ação |
Onde usar |
Função |
|
|
Playbook principal |
Chama um sub-playbook com limitação de concorrência; aguarda sincronamente até que todas as execuções sejam concluídas ou atinjam o tempo limite |
|
|
Sub-playbook |
Define os dados de saída que o playbook principal lerá após a execução |
Funcionamento integrado: A ação callSubTaskWithQps é executada no playbook principal. Ela aciona o sub-playbook e bloqueia o fluxo até que todas as instâncias do sub-playbook terminem (ou até o tempo limite ser atingido). Já a ação setOutput roda dentro do sub-playbook para definir quais dados retornarão ao playbook principal. Configure primeiro a ação setOutput no sub-playbook e, em seguida, referencie essa saída no playbook principal por meio da ação callSubTaskWithQps.
Exemplos de configuração
Cada exemplo abaixo consiste em um arquivo JSON completo importável como playbook de teste. Após a importação, abra o playbook no editor visual de fluxo para inspecionar e testar a configuração de parâmetros de cada ação. Para obter instruções de importação, consulte Importação de playbook.
Salve os dados do exemplo como um arquivo JSON antes de importar.
callSubTaskWithQps
Use a ação callSubTaskWithQps no playbook principal para invocar um sub-playbook. O playbook principal aguarda sincronamente até que todas as execuções do sub-playbook sejam concluídas ou até que o tempo limite seja atingido antes de prosseguir. Cada execução de sub-playbook gera um registro de execução. Para visualizar os registros, consulte Visualizar registros de execução de playbook.
Parâmetros
|
Parâmetro |
Descrição |
|
Select playbook |
Sub-playbook a ser chamado. Lista todos os playbooks disponíveis na conta atual. |
|
Input |
Parâmetros de entrada configurados no nó inicial do sub-playbook. |
|
Output |
Parâmetros de saída configurados no nó inicial do sub-playbook. |
Configuração avançada
|
Parâmetro |
Descrição |
Padrão |
Máximo |
|
|
Número máximo de execuções simultâneas de sub-playbooks. Padrão: 20. Se definido como 0 ou menos, o valor padrão de 20 será aplicado. |
20 |
50 |
|
|
Tempo máximo de espera para uma única execução de sub-playbook, em segundos. |
43200 (12 horas) |
86400 (1 dia) |
|
|
Tempo máximo de espera combinado para todas as execuções de sub-playbooks, em segundos. |
43200 (12 horas) |
86400 (1 dia) |
Funcionamento da limitação de concorrência
O parâmetro maxTasks controla quantas instâncias de sub-playbooks rodam simultaneamente. Quando o número de chamadas excede o valor de maxTasks, as chamadas excedentes entram em fila e iniciam conforme as instâncias em execução são finalizadas.
Por exemplo, com maxTasks definido como 20 (o padrão) e 100 chamadas a serem feitas: as primeiras 20 iniciam imediatamente e as 80 restantes ficam na fila. À medida que cada uma das 20 primeiras termina, uma chamada da fila é iniciada, continuando até que todas as 100 tenham sido executadas.
Ação setOutput
Use a ação setOutput no sub-playbook para especificar quais dados o playbook principal deverá ler após a conclusão da execução.
Parâmetros
Os parâmetros de saída disponíveis aqui correspondem àqueles configurados na seção de parâmetros de entrada e saída do nó inicial do sub-playbook. Para detalhes sobre a configuração do nó inicial, consulte Início/Fim.
Os valores dos parâmetros aceitam constantes, expressões, valores de saída de nós anteriores, entre outros. Para mais informações, veja Parâmetros de componentes e fluxo de execução de nós.