O nó SUB_PROCESS é um tipo especial de tarefa usado para referenciar outro fluxo de trabalho. Isso é ideal para dividir processos complexos em subfluxos de trabalho menores e mais fáceis de gerenciar. Esses subfluxos podem ser definidos e gerenciados de forma independente, o que melhora a manutenção e a reutilização.
Contexto
É possível aninhar fluxos de trabalho com um nó SUB_PROCESS. Um fluxo de trabalho referenciado não precisa de suas próprias configurações de tarefa agendada ou relação de dependência. O fluxo de trabalho que o referencia controla sua execução.
Quando é executado: Um fluxo de trabalho definido como Referenceable executa apenas quando outro fluxo de trabalho o referencia.
-
Horário de execução: Um fluxo de trabalho definido como Referenceable executa com base no horário de execução do fluxo de trabalho que o referencia.
Em uma estrutura aninhada multinível, o sistema de agendamento inicia a execução a partir do nível mais profundo de referência (por exemplo, o quarto nível no diagrama da esquerda). Durante a execução, se o sistema detectar um nó SUB_PROCESS no fluxo de trabalho atual, ele aciona sincronamente o fluxo de trabalho referenciado. Por exemplo, conforme o diagrama da esquerda, o Workflow-E contém um nó SUB_PROCESS que referencia o Workflow-D. Portanto, quando o Workflow-E é executado, ele aciona sincronamente o Workflow-D.
-
Número de execuções: Um fluxo de trabalho definido como Referenceable executa uma vez a cada referência.
Se um fluxo de trabalho contiver vários nós SUB_PROCESS referenciando o mesmo fluxo de trabalho de destino, o fluxo de trabalho de destino executa uma vez para cada referência.
De acordo com suas necessidades de negócios, é possível criar uma estrutura de referência linear simples, como no diagrama da esquerda, ou projetar uma hierarquia mais complexa e com várias ramificações que permita a execução paralela, como no diagrama da direita. Cada estrutura tem seu próprio caso de uso. Por favor, escolha a que melhor se adequa ao seu processo de negócios:
Diagrama da esquerda: Este diagrama mostra uma hierarquia linear de fluxos de trabalho, na qual cada fluxo de trabalho depende do anterior e o referencia por meio de um nó SUB_PROCESS interno. Por exemplo, o Workflow-E referencia o Workflow-D, o qual, por sua vez, referencia outro fluxo de trabalho, e assim por diante, até que o Workflow-B referencie o Workflow-A.
Diagrama da direita: Este diagrama mostra uma hierarquia complexa de fluxos de trabalho, na qual vários fluxos de trabalho podem referenciar um único fluxo por meio de seus nós SUB_PROCESS internos. Por exemplo, o Workflow-A é referenciado tanto pelo Workflow-B1 quanto pelo Workflow-B2.
Pré-requisitos
É necessário ter um espaço de trabalho com a opção Use Data Studio (New Version) ativada e um grupo de recursos vinculado. Para obter mais informações, consulte Create a workspace.
Limites
Ao utilizar nós SUB_PROCESS para aninhamento multinível, a profundidade máxima de aninhamento é de 5 níveis (incluindo o fluxo de trabalho raiz), e o número total de fluxos de trabalho não pode exceder 200.
A referência de fluxo de trabalho que um nó SUB_PROCESS cria é uma relação de acionamento, e não uma relação de dependência upstream ou downstream. Quando o sistema detecta um nó SUB_PROCESS em um fluxo de trabalho, ele aciona a execução do fluxo de trabalho referenciado.
Para um fluxo de trabalho que uma referência aciona, os valores de seus parâmetros de agendamento dependem do horário de agendamento do fluxo de trabalho que o aciona.
Após definir um fluxo de trabalho como Referenceable, nem o fluxo de trabalho nem seus nós internos podem depender de tarefas fora do fluxo de trabalho, nem tarefas externas podem depender deles, incluindo o nó raiz do espaço de trabalho.
Configurar fluxos de trabalho
Este tópico descreve como usar um nó SUB_PROCESS para referenciar um fluxo de trabalho existente. As etapas a seguir apresentam um exemplo no qual o fluxo de trabalho Workflow2 referencia o fluxo de trabalho Workflow1.
Workflow 1: ativar Referenceable
Para tornar um fluxo de trabalho referenciável, remova suas dependências upstream e downstream. Um fluxo de trabalho configurado como Referenceable não pode ter execução agendada de forma independente. Siga as etapas abaixo para ativar a opção Referenceable para um fluxo de trabalho. Recomendamos criar um novo fluxo de trabalho para testar esse recurso.
Siga as etapas abaixo para criar um fluxo de trabalho Referenceable Workflow1 e ativar a opção Referenceable para o fluxo de trabalho Workflow1.
-
Para começar, crie um fluxo de trabalho
Workflow1.Primeiro, acesse a página Workspaces no console do DataWorks. Na barra de navegação superior, selecione a região desejada. Localize o espaço de trabalho desejado e escolha na coluna Actions.
No painel de navegação à esquerda, clique em
. À direita de Project Directory, clique em . Defina um nome para o fluxo de trabalho e salve-o. O editor de fluxo de trabalho abrirá em seguida.
-
Ative a opção Referenceable.
Acesse a página do fluxo de trabalho
Workflow1e edite suas propriedades: clique em General no lado direito da página e, na caixa de diálogo de configuração de propriedades, ative a opção Can be cited.NotaApós ativar o recurso Referenceable, outros fluxos de trabalho podem referenciar o fluxo atual por meio de um nó SUB_PROCESS. Não é necessário configurar o horário de agendamento, as dependências de agendamento ou outras propriedades semelhantes.
Após ativar o recurso Referenceable, nem o próprio fluxo de trabalho nem seus nós internos podem depender de tarefas fora do fluxo de trabalho, nem tarefas externas podem depender deles. Isso inclui o nó raiz do espaço de trabalho.
Workflow 2: referenciar o Workflow 1
É possível criar um nó SUB_PROCESS no fluxo de trabalho Workflow2 para referenciar o fluxo de trabalho Workflow1.
Crie o fluxo de trabalho
Workflow2. Para obter mais informações, consulte Scheduled Workflow Orchestration.-
Crie um nó
SUB_PROCESS.Clique no fluxo de trabalho
Workflow2criado para abrir a página de edição do fluxo de trabalho. Arraste o nó SUB_PROCESS abaixo de Logical Node para a tela. -
Configure o fluxo de trabalho referenciado.
Na caixa de diálogo Create Node, defina Reference Workflow como Select existing. Na lista suspensa abaixo de Select existing, selecione o fluxo de trabalho que deseja referenciar,
Workflow1. Para Node Name, use o nome gerado pelo sistema ou insira um nome personalizado. Clique em Confirm para concluir a referência.NotaSe precisar referenciar um fluxo de trabalho Create, insira um Workflow Name personalizado e clique em Confirm para concluir a referência.
Primeiro, confirme a referência a um novo fluxo de trabalho. Em seguida, passe o mouse sobre o nó SUB_PROCESS e clique em Open Reference Workflow. Na mensagem exibida, clique em Save and Open para abrir o editor do novo fluxo de trabalho.
Na página do editor do fluxo de trabalho referenciado recém-criado, a opção Can be cited no painel General à direita está ativada por padrão.
-
Salve e visualize os detalhes da referência.
Acesse a página de edição do fluxo de trabalho
Workflow2, clique em Save na parte superior e, na página CHANGE CHECK, conclua a confirmação de Save.NotaApós ativar a opção Referenceable para um fluxo de trabalho, vários fluxos de trabalho podem referenciá-lo. Para monitorar, visualize o número de referências no painel General no lado direito da página do fluxo de trabalho referenciado. Clique em View Details para obter mais informações.
Próximas etapas
Após configurar a referência do fluxo de trabalho, publique o fluxo de trabalho para executar periodicamente e use o Data Backfill para monitorar seu status.
-
Primeiro, configure o agendamento.
Se uma tarefa de fluxo de trabalho precisar executar periodicamente, configure primeiro suas propriedades de agendamento. Para obter mais informações, consulte Configure scheduling properties for a node.
-
Publique a tarefa de fluxo de trabalho.
É necessário publicar o fluxo de trabalho no ambiente de produção para que ele seja agendado automaticamente. Para obter mais informações, consulte Scheduled Workflow Orchestration.
ImportanteAo publicar o
Workflow2, que contém o nóSUB_PROCESS, publique primeiro oWorkflow1, o fluxo de trabalho referenciado pelo nóSUB_PROCESS. Caso contrário, a publicação falhará. Se não publicar o fluxo de trabalho referenciado primeiro, a publicação do fluxo de trabalho principal falhará e exibirá a mensagem de erroThe parameter contains illegal characters SubProcess relatedFLowId is null. Esse erro ocorre porque o fluxo de trabalho referenciado não foi publicado, deixando o parâmetrorelatedFLowIddo nóSUB_PROCESSvazio. Para resolver o erro, publique primeiro o fluxo de trabalho referenciado mais interno e, em seguida, publique o fluxo de trabalho principal mais externo. -
Por fim, execute e verifique a tarefa de fluxo de trabalho.
Após publicar a tarefa de fluxo de trabalho, use o recurso Data Backfill no Operation Center para verificar o status da execução agendada. Para obter mais informações, consulte Get started with Operation Center.
Encontre o nó SUB_PROCESS em execução, clique com o botão direito do mouse sobre ele e selecione View Tasks That Reference Workflow para visualizar diretamente o status de execução de todas as tarefas de nós internos no fluxo de trabalho referenciado.
> Create Workflow