Quando um pipeline de dados se torna complexo, manter toda a lógica em um único workflow dificulta testes, reutilização e transferência para outras equipes. O nó SUB_PROCESS permite que um workflow chame outro como subtarefa, possibilitando dividir um pipeline grande em partes menores e gerenciadas independentemente.
Use este tipo de nó quando precisar:
Reutilizar um workflow em vários pipelines sem duplicar sua lógica.
Isolar uma subtarefa para desenvolvimento, teste e manutenção independentes.
Compor estruturas aninhadas — cadeias lineares ou hierarquias com múltiplas ramificações — para refletir a organização do seu processo de negócios.
Como funciona
Um nó SUB_PROCESS cria uma relação de acionamento, e não uma dependência upstream ou downstream. Essa distinção é importante:
|
Tipo de relação |
Funcionamento |
Dependências permitidas |
|
Acionamento (SUB_PROCESS) |
O workflow referenciador aciona sincronamente o workflow referenciado ao atingir o nó SUB_PROCESS |
Não — o workflow referenciado não pode ter dependências de outras tarefas, e nenhuma outra tarefa pode depender dele |
|
Dependência upstream/downstream |
As tarefas executam em sequência com base em vínculos explícitos de dependência |
Sim — aplica-se a configuração padrão de dependência de tarefas |
Durante a execução, ao atingir um nó SUB_PROCESS, o workflow aciona sincronamente o workflow referenciado. Este não possui agendamento próprio — sua execução é controlada pelo workflow que o referencia.
Especificamente:
O workflow referenciado executa apenas quando acionado por um nó SUB_PROCESS.
Seus parâmetros de agendamento são herdados do horário agendado do workflow acionador, e não dos seus próprios.
Caso múltiplos nós SUB_PROCESS em workflows diferentes referenciem o mesmo workflow, ele executa uma vez para cada referência.
Organize os workflows referenciados em duas estruturas:
Hierarquia linear (diagrama à esquerda): cada workflow referencia o seguinte por meio de um nó SUB_PROCESS, formando uma cadeia. Por exemplo, Workflow-E referencia Workflow-D, que referencia o próximo, até chegar ao Workflow-A.
Hierarquia com múltiplas ramificações (diagrama à direita): um workflow é referenciado por vários workflows pais. Por exemplo, tanto Workflow-B1 quanto Workflow-B2 referenciam Workflow-A por meio de seus próprios nós SUB_PROCESS.
Limites
|
Limite |
Valor |
|
Profundidade máxima de aninhamento (incluindo o workflow raiz) |
5 camadas |
|
Total máximo de workflows em uma estrutura aninhada |
200 |
Um workflow referenciado e seus nós internos não podem ter dependências de outras tarefas, e nenhuma outra tarefa pode depender dele. Isso se aplica a outros workflows, nós fora do workflow atual e ao nó raiz do workspace.
Pré-requisitos
Antes de começar, verifique se você tem:
Um workspace com a opção Use Data Studio (New Version) ativada e um grupo de recursos vinculado. Para mais informações, consulte Criar um workspace.
Configurar referências de workflow
Esta seção apresenta um exemplo completo: habilitar a referência ao Workflow1 e, em seguida, criar um nó SUB_PROCESS no Workflow2 para chamá-lo.
Publique o Workflow1 antes de publicar o Workflow2. Se o workflow referenciado não for publicado primeiro, a publicação do workflow referenciador falhará.
Etapa 1: Habilitar referência no Workflow1
Um workflow precisa ter a chave Referenceable ativada antes que outro workflow possa chamá-lo via nó SUB_PROCESS. Após ativar essa opção, não é necessário configurar agendamento ou dependências para o workflow — ambos são controlados pelo workflow referenciador.
Após ativar a opção Referenceable , o workflow e seus nós internos não podem ter dependências de outras tarefas, e nenhuma outra tarefa pode depender dele.
Acesse a página Workspaces no console do DataWorks. Na barra de navegação superior, selecione uma região. Encontre seu workspace e escolha Shortcuts > Data Studio na coluna Actions.
No painel de navegação à esquerda, clique em
. À direita de Workspace Directories, clique em
> Create Workflow. Insira um nome para o workflow e salve-o. O editor do workflow será aberto.Na página de configuração do
Workflow1, clique em Property à direita. No painel de propriedades, ative a chave Referenceable.
Etapa 2: Criar um nó SUB_PROCESS no Workflow2
Crie um workflow chamado
Workflow2. Para mais informações, consulte Workflows recorrentes.Abra o
Workflow2e arraste um nó SUB_PROCESS de Logical Node para a tela.-
Na caixa de diálogo Add Node, configure as propriedades abaixo e clique em Confirm.
Após confirmar, se você criou um novo workflow referenciado, passe o mouse sobre o nó SUB_PROCESS e clique em Open Referenced Workflow . Na caixa de diálogo, clique em Save And Open para abrir a página de configuração do novo workflow. A chave Referenceable vem ativada por padrão para workflows criados dessa forma.
Propriedade
Descrição
Reference Workflow
Defina como Select Existing e selecione
Workflow1na lista suspensa. Para criar e referenciar um novo workflow simultaneamente, insira um valor personalizado em Workflow Name.Node Name
Mantenha o nome gerado pelo sistema ou insira um nome personalizado.
Na página de configuração do
Workflow2, clique em Save. Na página Change Check, clique em Save para confirmar. Para ver quantas vezes oWorkflow1é referenciado, abra seu painel Property à direita. Clique em View Details para obter mais informações.
Próximos passos
Após configurar a referência do workflow, publique ambos os workflows e monitore sua execução:
Configurar agendamento — defina as propriedades de agendamento do
Workflow2para executá-lo periodicamente. Para mais informações, consulte Agendamento de nós.Publicar os workflows — publique o
Workflow1primeiro e depois oWorkflow2. Um workflow só executa conforme o agendamento após ser publicado no ambiente de produção. Para mais informações, consulte Publicar uma tarefa com acionamento automático.Monitorar execução — utilize o Data Backfill para observar o status de execução da tarefa com acionamento automático no Operation Center. Para mais informações, consulte Introdução ao Operation Center. Para visualizar o status de execução de todos os nós internos no workflow referenciado, clique com o botão direito no nó SUB_PROCESS em execução e selecione View Internal Tasks Of The Referenced Workflow.