Todos os produtos
Search
Central de documentação

DataWorks:Princípios de agendamento para dependências complexas

Última atualização: Jun 27, 2026

O DataWorks permite criar dependências entre tarefas com acionamento automático que possuem frequências de agendamento diferentes, como minuto, hora, dia, semana, mês e ano. Cada execução de tarefa corresponde a uma instância, e a frequência de agendamento determina quantas instâncias são geradas. Este tópico explica como o DataWorks estabelece dependências entre as instâncias de tarefas ancestrais e descendentes quando suas frequências de agendamento diferem.

Contexto

  • No DataWorks, uma tarefa com acionamento automático gera instâncias com base em sua frequência de agendamento. Por exemplo, uma tarefa horária gera um número correspondente de instâncias por dia. As dependências de tarefa são estabelecidas entre essas instâncias. Quando as tarefas ancestrais e descendentes têm frequências de agendamento diferentes, o número de instâncias e a forma como elas dependem umas das outras variam.

  • O DataWorks suporta diversos cenários de dependência de agendamento. Escolha configurar uma dependência de agendamento no mesmo ciclo ou uma dependência de agendamento entre ciclos. Para mais informações, consulte Configurar uma dependência de agendamento no mesmo ciclo e Configurar uma dependência de agendamento entre ciclos.

Compreenda estes conceitos antes de configurar uma dependência de agendamento.

Descrição

Referências

1

O DataWorks suporta múltiplas frequências de agendamento, incluindo minuto, hora, dia, semana, mês e ano. Quando uma tarefa ancestral e uma descendente possuem frequências diferentes, o sistema estabelece a dependência usando o princípio de proximidade do horário de agendamento.

Nota
  • Se uma tarefa horária depender de outra tarefa horária e ambas gerarem o mesmo número de instâncias por dia, este princípio não se aplica. A dependência não está relacionada ao horário de agendamento.

  • Por padrão, uma tarefa diária depende de todas as instâncias geradas por suas tarefas ancestrais horárias ou baseadas em minutos no mesmo dia. A tarefa diária inicia somente após o processamento de todos os dados daquele dia provenientes das tarefas ancestrais.

Resolução de dependências: O princípio de proximidade do horário de agendamento

2

Uma dependência de agendamento estabelece uma dependência de dados entre tarefas. A tarefa descendente não executa até que sua tarefa ancestral seja concluída com êxito, independentemente do próprio horário de agendamento da descendente.

Como as dependências afetam a execução da tarefa

3

Revise os exemplos no apêndice para compreender melhor o princípio de proximidade do horário de agendamento.

Apêndice 1: Cenários de dependência complexa

Os cenários incluem:

Resolução de dependências: O princípio de proximidade

Quando uma tarefa com acionamento automático executa, ela gera uma ou mais instâncias. Uma instância descendente depende de uma instância ancestral. Por padrão, o sistema resolve dependências usando o princípio de proximidade do horário de agendamento: uma instância descendente depende da instância ancestral disponível mais próxima que ainda não seja dependência de outra instância. Os seguintes princípios aplicam-se em diferentes cenários:

Nota
  • Uma tarefa descendente agendada para executar antes de sua tarefa ancestral não será acionada até que a ancestral seja concluída.

  • Ao aplicar o princípio de proximidade do horário de agendamento, se a tarefa ancestral não tiver instâncias agendadas antes da primeira instância do dia da descendente, a primeira instância da descendente dependerá, por padrão, da primeira instância do dia da ancestral.

Cenário

Descrição

Diagrama

Dependências entre tarefas horárias e baseadas em minutos

  • A dependência baseia-se no horário de agendamento das instâncias

    • Comportamento padrão: Uma instância descendente depende da instância ancestral mais próxima agendada no mesmo horário ou antes de seu horário de agendamento, desde que essa instância ancestral já não seja dependência de outra instância.

      Nota

      Quando um nó ancestral tem uma frequência de agendamento maior que o nó descendente (cenário muitos-para-um), uma instância descendente depende de todas as instâncias ancestrais geradas dentro de sua janela de tempo (início, fim].

    • Caso especial: Se uma autodependência estiver configurada tanto para a tarefa ancestral quanto para a descendente, a instância descendente atual depende de uma única instância ancestral agendada no mesmo horário ou antes de seu próprio horário de agendamento.

      Nota

      Para uma explicação visual, consulte os diagramas do cenário em que tanto as tarefas horárias quanto as baseadas em minutos possuem autodependência configurada.

  • A dependência não se baseia no horário de agendamento das instâncias.

    Se duas tarefas da mesma frequência (como horária para horária) gerarem o mesmo número de instâncias por dia, cria-se uma dependência um-para-um entre suas instâncias correspondentes.

Os diagramas a seguir mostram os subcenários para dependências entre tarefas horárias e baseadas em minutos.

Uma tarefa horária depende de outra tarefa horária

image

Uma tarefa horária depende de uma tarefa baseada em minutos

image

Uma tarefa baseada em minutos depende de uma tarefa horária

image

Exemplo:

Uma tarefa horária depende de outra tarefa horária.

image
  • Cenário 1: O nó horário B depende do nó horário A.

    Configuração:

    • O agendamento diário está definido das 00:00 às 23:59.

    • Os nós A e B estão ambos agendados a cada 5 horas.

    • Os nós A e B geram o mesmo número de instâncias por dia.

    Relacionamento de dependência: Como os nós A e B geram o mesmo número de instâncias por dia, estabelece-se uma dependência um-para-um entre suas instâncias correspondentes.

  • Cenário 2:

    Configuração:

    • O nó A é agendado a cada 4 horas, das 06:10 às 21:59 diariamente, gerando um total de quatro instâncias.

    • O nó B é agendado a cada 4 horas, das 08:00 às 23:59 diariamente, gerando um total de quatro instâncias.

    Relacionamento de dependência: Como os nós A e B geram o mesmo número de instâncias por dia, estabelece-se uma dependência um-para-um entre suas instâncias correspondentes.

Uma tarefa diária depende de uma tarefa horária ou baseada em minutos

Comportamento padrão: Uma tarefa diária depende de todas as instâncias geradas por suas tarefas ancestrais horárias ou baseadas em minutos naquele dia. A tarefa diária inicia somente após a conclusão de todas essas instâncias ancestrais.

Outros casos: Se a tarefa diária precisar depender apenas da instância mais recente da tarefa horária ou baseada em minutos, configure uma autodependência para a tarefa ancestral. Assim que essa instância específica da tarefa ancestral for concluída, a tarefa diária iniciará.

image

Para mais detalhes sobre dependências e comportamento de execução em cada cenário, consulte Apêndice 1: Cenários de dependência complexa.

Como as dependências afetam a execução da tarefa

Uma tarefa descendente com dependência configurada não executará até que sua tarefa ancestral seja executada com êxito, independentemente de seu próprio horário de agendamento.

Por exemplo, uma tarefa horária B depende de uma tarefa diária A. Nenhuma autodependência está configurada para a tarefa horária.

  • Tarefa A (diária): O horário de agendamento está definido para 07:00.

  • Tarefa B (horária): Os horários de agendamento são 00:00, 08:00 e 16:00.

Se a tarefa A não tiver sido concluída, a tarefa B não executará, mesmo em seu horário agendado de 00:00. O horário mais cedo em que a tarefa B pode realmente executar é 07:00.

image

Apêndice 1: Cenários de dependência complexa

Uma tarefa descendente agendada antes de sua tarefa ancestral não será acionada até que a ancestral seja concluída. Para a primeira instância descendente do dia, se nenhuma instância ancestral estiver agendada antes dela, ela dependerá, por padrão, da primeira instância ancestral daquele dia.

Uma tarefa horária depende de outras tarefas

Subcenário

Dependência e execução

Diagrama

Uma tarefa horária depende de outra tarefa horária

  • Tarefas ancestrais e descendentes geram o mesmo número de instâncias

    Estabelece-se uma dependência um-para-um entre instâncias do mesmo dia: a primeira instância descendente depende da primeira instância ancestral, a segunda da segunda, e assim por diante.

  • Tarefas ancestrais e descendentes geram um número diferente de instâncias

    Instâncias geradas no mesmo dia dependem umas das outras com base no princípio de proximidade do horário de agendamento. Uma instância descendente depende da instância ancestral mais próxima agendada no mesmo horário ou antes de seu próprio horário de agendamento.

    Caso especial: Nas configurações de dependência de agendamento, se um nó ancestral executar com mais frequência que um nó descendente (cenário muitos-para-um), a lógica de dependência da descendente segue o princípio de cobertura de intervalo, não apenas o princípio de proximidade.

    Escopo da dependência: Uma instância descendente depende de todas as instâncias ancestrais geradas dentro de sua janela de tempo (início, fim].

    • início é o horário de agendamento da instância descendente anterior.

    • fim é o horário de agendamento da instância descendente atual.

image

Uma tarefa horária depende de uma tarefa diária

  • Autodependência não está configurada para a tarefa horária

    Todas as instâncias horárias da descendente para aquele dia dependem da tarefa diária ancestral e iniciarão somente após sua conclusão. Quaisquer instâncias horárias cujos horários de agendamento já passaram executarão simultaneamente.

    Nota
    • Para evitar execução simultânea, configure uma autodependência para a tarefa horária descendente.

    • A execução de todas as instâncias horárias descendentes não afeta umas às outras.

  • Autodependência está configurada para a tarefa horária

    • Apenas a primeira instância horária depende da tarefa diária ancestral. Todas as outras instâncias horárias dependem de sua instância horária precedente.

    • Uma instância horária inicia somente após a conclusão tanto da tarefa diária quanto da instância horária anterior. Nesse caso, as instâncias horárias não executarão simultaneamente, mesmo que seus horários agendados já tenham passado.

    Nota

    Uma autodependência pode criar uma dependência entre dias. Se a última instância do dia anterior não tiver sido concluída, isso pode impedir o agendamento das tarefas de hoje.

Uma tarefa horária depende de uma tarefa baseada em minutos

  • Autodependência não está configurada para a tarefa baseada em minutos

    A tarefa horária descendente depende de todas as instâncias baseadas em minutos geradas dentro daquela hora.

  • Autodependência está configurada tanto para a tarefa baseada em minutos quanto para a horária

    A tarefa horária descendente depende da instância baseada em minutos mais próxima agendada no mesmo horário ou antes de seu próprio horário de agendamento dentro daquela hora.

image

Uma tarefa diária depende de outras tarefas

Subcenário

Dependência e execução

Diagrama

Uma tarefa diária depende de uma tarefa diária do mesmo ciclo

  • Autodependência não está configurada para a tarefa diária ancestral

    Por padrão, a instância diária descendente depende da instância diária ancestral do mesmo ciclo.

  • Autodependência está configurada para a tarefa diária ancestral

    Se uma autodependência estiver configurada para a tarefa diária ancestral, a dependência da tarefa diária descendente torna-se uma dependência entre ciclos.

    Nota

    Uma autodependência pode criar uma dependência entre dias. Se a última instância do dia anterior não tiver sido concluída, isso pode impedir o agendamento das tarefas de hoje.

image

Uma tarefa diária depende de uma tarefa horária do mesmo dia

  • Autodependência não está configurada para a tarefa horária

    A tarefa diária descendente depende de todas as instâncias horárias geradas pela tarefa ancestral naquele dia. A tarefa diária inicia somente após o processamento de todos os dados horários daquele dia.

    Nota

    Se a tarefa diária precisar depender apenas de uma instância horária específica, configure uma autodependência para a tarefa horária. A tarefa diária será agendada automaticamente após a execução bem-sucedida dessa instância horária específica.

  • Autodependência está configurada para a tarefa horária

    A tarefa diária descendente depende da instância horária ancestral mais próxima que esteja agendada no mesmo horário ou antes de seu próprio horário de agendamento.

image

Uma tarefa diária depende de uma tarefa horária ou baseada em minutos do dia anterior

  • Autodependência não está configurada para a tarefa horária ou baseada em minutos

    A tarefa diária descendente dependerá de todas as instâncias horárias ou baseadas em minutos geradas pela tarefa ancestral no dia anterior.

  • Autodependência está configurada para a tarefa horária ou baseada em minutos

    A tarefa diária descendente dependerá da última instância horária ou baseada em minutos gerada pela tarefa ancestral no dia anterior.

O exemplo a seguir mostra uma tarefa diária que depende de uma tarefa horária do dia anterior.

image

Uma tarefa baseada em minutos depende de outras tarefas

Subcenário

Descrição da dependência

Diagrama

Uma tarefa baseada em minutos depende de uma tarefa horária

  • Autodependência não está configurada para a tarefa baseada em minutos

    Uma instância descendente baseada em minutos depende da instância horária ancestral mais próxima agendada no mesmo horário ou antes de seu próprio horário de agendamento, sem dependências duplicadas.

    Nota

    Neste cenário, múltiplas instâncias descendentes baseadas em minutos podem depender da mesma instância horária ancestral.

  • Autodependência está configurada tanto para a tarefa baseada em minutos quanto para a horária

    Cada instância descendente baseada em minutos depende de sua instância precedente. Ela também depende da instância horária ancestral mais próxima agendada no mesmo horário ou antes de seu próprio horário de agendamento, com base no princípio de proximidade do horário de agendamento.

image

Uma tarefa baseada em minutos depende de uma tarefa diária

  • Autodependência não está configurada para a tarefa baseada em minutos

    Todas as instâncias descendentes baseadas em minutos geradas para o dia dependem da tarefa diária. A tarefa baseada em minutos só pode executar após a tarefa diária atingir seu horário agendado e ser concluída com êxito.

    Nota
    • Após a conclusão da tarefa diária, quaisquer instâncias baseadas em minutos cujos horários agendados já passaram executarão simultaneamente. Para evitar isso, configure uma autodependência para a tarefa baseada em minutos.

    • A execução de diferentes instâncias baseadas em minutos não afeta umas às outras.

  • Autodependência está configurada para a tarefa baseada em minutos

    • Apenas a primeira instância baseada em minutos gerada depende da tarefa diária. Todas as outras instâncias dependem diretamente de sua instância precedente.

    • Uma instância baseada em minutos é agendada somente após a conclusão tanto da tarefa diária quanto da instância baseada em minutos anterior. Nesse caso, as instâncias baseadas em minutos não executarão simultaneamente, mesmo que seus horários agendados já tenham passado.

    Nota

    Uma autodependência pode criar uma dependência entre dias. Se a última instância do dia anterior não tiver sido concluída, isso pode impedir o agendamento das tarefas de hoje.

image

Dependências semanais, mensais ou anuais

Quando uma tarefa diária, horária ou baseada em minutos depende de uma tarefa semanal, mensal ou anual, o sistema gera uma instância de simulação para a tarefa ancestral em seus dias não agendados. Uma instância de simulação não processa dados, não consome recursos e não bloqueia tarefas descendentes.

O exemplo a seguir mostra um cenário onde uma tarefa diária depende de uma tarefa semanal para a qual nenhuma autodependência está configurada:

  • Tarefa semanal ancestral: Executa normalmente toda segunda e sexta-feira. Na terça, quarta, quinta, sábado e domingo, gera uma instância de simulação. Quando o horário agendado chega, a instância de simulação é imediatamente marcada como bem-sucedida sem realmente executar nenhum código. Uma instância de simulação não afeta a operação normal das instâncias descendentes.

  • Tarefa diária descendente: Gera uma instância agendada todos os dias, que depende da instância (incluindo qualquer instância de simulação) gerada pela tarefa semanal ancestral para aquele dia. Após a conclusão bem-sucedida da instância do dia da tarefa semanal, a instância descendente correspondente é acionada.

image

Apêndice 2: Agendamento de fluxo de trabalho

No DataWorks, você pode tratar um fluxo de trabalho inteiro como uma única unidade e configurar nós ancestrais e descendentes para ele. Para mais informações, consulte Orquestração periódica de fluxo de trabalho.