O agendamento periódico pode gerar situações específicas, como loops de dependência entre nós e isolamento de nós. Ambos os casos podem interromper o agendamento de tarefas. Este tópico descreve esses cenários e explica como resolvê-los.
Cenário 1: Loop de dependência entre nós
Causas e soluções para loops de dependência entre nós
Um loop de dependência entre nós ocorre quando um nó ancestral também depende de um de seus próprios nós descendentes, criando uma dependência circular. Analise seu fluxo de trabalho de negócios e remova prontamente a dependência circular.
Por exemplo, um nó descendente pode depender dos dados de tabela produzidos por um nó ancestral do ciclo anterior e gravar os resultados processados de volta na mesma tabela. Se você configurar o nó descendente para depender do nó ancestral do ciclo atual em vez do anterior, formará um loop de dependência entre nós. Após esclarecer a lógica de negócios, reconfigure o nó descendente para depender do ciclo anterior de seu nó ancestral.
Exemplo: No cenário a seguir, o Nó A lê a Tabela C e gera dados na Tabela A. Um nó descendente, Nó B, limpa os dados da Tabela A e os grava na Tabela B. Em seguida, o Nó C limpa os dados da Tabela B e os grava de volta na Tabela C. Esse processo cria um loop de dependência, que o DataWorks detecta automaticamente.
Solução: Analise seu fluxo de trabalho de negócios e remova a dependência circular. Neste exemplo, se o nó descendente precisar processar dados do nó ancestral do ciclo anterior, configure uma dependência entre ciclos em que o Nó A dependa do Nó C do ciclo anterior.
Monitoramento e alertas para loops de dependência entre nós
Para garantir que as tarefas com acionamento automático gerem instâncias com acionamento automático e sejam executadas corretamente, o DataWorks fornece regras de alerta integradas para verificar problemas periodicamente. Caso o sistema detecte um loop de dependência entre nós, o DataWorks enviará um alerta automaticamente. Ao receber esse tipo de alerta, resolva o problema imediatamente.
O DataWorks verifica o status das tarefas com acionamento automático às 09:00, 12:00, 16:00, 20:00 e 22:00 todos os dias. Se encontrar um problema, o sistema envia um alerta automaticamente. Problemas que ocorrem até 10 minutos antes de uma verificação não são incluídos na varredura atual; a detecção ocorrerá na próxima.
O alerta de loop de dependência entre nós é uma regra integrada e não exige criação manual. Por padrão, o DataWorks envia alertas ao proprietário do nó por SMS e e-mail. No entanto, você pode alterar os destinatários dos alertas para regras globais na página Rule Management. Para mais informações, consulte Rule Management.
Cenário 2: Isolamento de nó
Isolamento de nó
O isolamento de nó acontece quando um nó não possui nós ancestrais ao expandir suas dependências em Auto Triggered Task ou Cycle Examples. O sistema de agendamento não consegue acionar esse tipo de nó, impedindo sua execução. As consequências podem ser graves caso um nó isolado possua muitos nós descendentes. O DataWorks envia um alerta automaticamente quando ocorre isolamento de nó. Ao receber esse alerta, resolva o problema imediatamente.
No DataWorks, toda tarefa personalizada com acionamento automático, exceto o nó raiz do workspace, deve depender de um nó ancestral para ser agendada e executada corretamente.
Resolução de isolamento de nó
|
Cenário |
Descrição |
Solução |
|
Modos de geração de instância inconsistentes entre nós ancestrais e descendentes. |
Quando tanto o nó ancestral quanto o descendente são novos, se o modo de geração de instância do ancestral for Next Day (T+1) e o modo do descendente for Immediately After Deployment, o nó descendente ficará isolado caso dependa apenas desse ancestral. Isso ocorre porque o nó ancestral não gera uma instância no dia atual, deixando o nó descendente sem uma dependência para execução. |
Ajuste o modo de geração de instância do nó ancestral e faça o novo deploy. Para mais informações sobre este cenário, consulte Inconsistent Instance Generation Modes Between Upstream and Downstream Tasks. |
|
O nó ancestral está fora de seu intervalo de tempo efetivo. |
No DataWorks, nós fora de seu intervalo de tempo efetivo não geram instâncias. Se um nó descendente depender exclusivamente de um nó ancestral que esteja fora de seu intervalo de tempo efetivo, o nó descendente ficará isolado. |
Acesse a página de configuração de agendamento do nó ancestral e modifique seu Effective Period. |
|
A saída do nó ancestral foi alterada. |
Alterações na lógica de negócios de um nó ancestral podem modificar sua saída e quebrar dependências downstream. Se um nó descendente depender apenas desse ancestral, ele ficará isolado. |
Reconfigure as dependências do nó descendente. |
|
O agendamento está desativado para uma dependência entre workspaces. |
Se um nó tiver uma dependência entre workspaces em relação a um nó ancestral e o agendamento estiver desativado no workspace do ancestral, o nó ficará isolado caso não possua outras dependências. |
Entre em contato com o proprietário do workspace para ativar o agendamento ou remova a dependência entre workspaces. |
|
Uma tarefa intermediária está fora do intervalo especificado para backfill de dados. |
Ao executar um backfill de dados, se uma tarefa intermediária na cadeia de dependências (uma tarefa que possui tanto um ancestral quanto um descendente) não estiver incluída no intervalo de tempo do backfill, quaisquer nós descendentes que dependam dela poderão ficar isolados. Exemplo:
Se você fizer o backfill de dados para as tarefas A e C no intervalo de tempo |
Inclua a tarefa intermediária no backfill de dados para o mesmo intervalo de tempo. Para mais informações, consulte Perform a data backfill. Neste exemplo, também é necessário fazer o backfill de dados para a tarefa B no intervalo de tempo |
Monitoramento e alertas para isolamento de nó
Todas as noites, o DataWorks gera Cycle Examples para o dia seguinte com base em Auto Triggered Task. Para assegurar que essas instâncias sejam geradas e executadas corretamente, o DataWorks utiliza regras de alerta integradas para verificar problemas. O sistema envia um alerta automaticamente ao detectar isolamento de nó. Ao receber esse alerta, resolva o problema imediatamente.
O DataWorks verifica o status das tarefas com acionamento automático às 09:00, 12:00 e 16:00 todos os dias. Se encontrar um problema, o sistema envia um alerta automaticamente. Problemas que ocorrem até 10 minutos antes de uma verificação não são incluídos na varredura atual; a detecção ocorrerá na próxima.
O alerta de isolamento de nó é uma regra integrada e não exige criação manual. Por padrão, o DataWorks envia alertas ao proprietário do nó por SMS e e-mail. No entanto, você pode alterar os destinatários dos alertas para regras globais na página Rule Management. Para mais informações, consulte Rule Management.
Localizar nós isolados
Acesse o Operation and Maintenance Center. Na página O&M Dashboard, verifique a seção Focus On para visualizar a quantidade e os detalhes dos nós isolados.