Um ciclo de agendamento define a frequência com que um nó é executado automaticamente no ambiente de produção. Com base nesse ciclo, o sistema de agendamento do DataWorks gera instâncias recorrentes e as executa de acordo com as dependências entre nós e o horário agendado de cada instância.
Conceitos principais
Instância recorrente: Para cada timestamp de dados, o sistema de agendamento gera uma entidade de execução para uma tarefa com gatilho automático com base na sua configuração de agendamento, como executar diariamente às 00:00. Essa entidade é a instância recorrente. A execução, o status e os logs do nó estão associados a essa instância.
Dependência entre ciclos: No DataWorks, nós com ciclos de agendamento diferentes podem ter dependências entre si. Por exemplo, um nó downstream diário pode depender de um nó upstream horário. A dependência entre nós é uma dependência entre suas instâncias recorrentes. Para mais informações, consulte Dependências entre ciclos.
Execução simulada: Para nós que não são executados diariamente, como nós semanais, mensais ou anuais, o sistema de agendamento gera uma instância de execução simulada nos dias não agendados. Quando essa instância atinge seu horário agendado, seu status muda imediatamente para "Success", mas ela não executa a lógica de código do nó. O objetivo principal de uma execução simulada é resolver dependências e garantir que os nós diários downstream sejam acionados corretamente.
O status da instância é "Success", o tempo de execução é 0 segundos e nenhum log é gerado.
Não utiliza recursos de agendamento nem de computação.
Não bloqueia a execução dos nós downstream. Mesmo que um nó upstream seja uma instância de execução simulada, os nós downstream executam normalmente após suas condições de execução serem atendidas.
Princípios básicos e cenários
Condições para execução agendada
Uma instância recorrente é executada somente após ambas as condições a seguir serem atendidas. As condições podem ser atendidas em qualquer ordem.
Todas as suas instâncias upstream foram executadas com sucesso. Isso inclui instâncias concluídas como execução simulada.
A instância atingiu seu horário agendado.
Portanto, o horário agendado configurado é apenas o horário agendado esperado. fatores como o tempo de conclusão dos nós upstream, os recursos de computação disponíveis e as condições específicas de execução do nó afetam o horário real de execução de um nó.
Cenários de agendamento de fluxo de trabalho
Em um fluxo de trabalho composto pelos nós A, B e C (A→B→C), a configuração de horário agendado afeta a execução de todo o fluxo de trabalho:
Cenário 1: Horário de início unificado | |
Todo o fluxo de trabalho deve iniciar após às 03:00. Para isso, defina o horário agendado do nó inicial A como |
Cenário 2: Horários de início diferentes para cada nó | |
O nó A está agendado para executar às 03:00, o nó B não deve executar antes das 05:00 e o nó C não deve executar antes das 06:00. Defina os horários agendados de A, B e C como | |
Cenário 3: Apenas alguns nós têm horários de início específicos | |
O nó A está agendado para executar às 03:00, o nó B não deve executar antes das 05:00 e o nó C não tem requisito específico de horário. Defina o horário agendado de A como | |
Impacto da atualização de horários agendados
Após modificar o horário agendado de um nó em Scheduling Settings e redistribuir o nó, o impacto depende do modo de geração de instâncias selecionado:
Geração no dia seguinte T+1: Após selecionar essa opção e distribuir o nó, o horário agendado das instâncias já geradas para os últimos dois dias (T e T-1), incluindo instâncias concluídas e pendentes, é atualizado para o novo horário. Instâncias futuras que ainda não foram geradas serão geradas com base no novo horário.
Geração imediata de instâncias: Ao selecionar essa opção, novas instâncias são geradas imediatamente com base na nova configuração. O horário agendado das instâncias históricas permanece inalterado.
Configuração do tipo de agendamento
O DataWorks suporta seis ciclos de agendamento: minuto, hora, dia, semana, mês e ano. Na página de edição do nó no Data Studio, clique em Scheduling Settings no lado direito e configure as definições na seção Scheduling time.
O método de configuração do horário agendado depende de como o nó está organizado:
Nós de fluxo de trabalho: Se um nó está organizado dentro de um fluxo de trabalho, o horário agendado é configurado no nível do fluxo de trabalho. Nós individuais dentro do fluxo de trabalho não podem ter suas próprias configurações de horário agendado. Para modificar o horário agendado, acesse as configurações de agendamento do fluxo de trabalho.
Nós autônomos: Se um nó não pertence a nenhum fluxo de trabalho, seu horário agendado é configurado de forma independente.
Agendamento por minuto
O intervalo mínimo para um agendamento por minuto é de 1 minuto.
Exemplo de configuração
Objetivo: O nó executa a cada 30 minutos entre 00:00 e 23:59 todos os dias.
A expressão cron é gerada automaticamente com base no horário selecionado e não pode ser modificada manualmente.

Detalhes do agendamento
A configuração anterior gera 48 instâncias recorrentes por dia, com horários agendados de 00:00, 00:30, 01:00, ..., 23:30. A data de negócio (bizdate) de cada instância é o dia atual.
Para mais cenários de dependência relacionados a agendamentos por minuto, consulte Cenários de dependência de agendamento por minuto.
Agendamento por hora
Observações
O intervalo de tempo segue o princípio inclusivo-inclusivo. Por exemplo, se você configurar um nó para executar a cada 1 hora entre
00:00e03:00, o sistema de agendamento gera 4 instâncias com horários agendados de00:00,01:00,02:00e03:00.Você pode definir um intervalo de tempo e um intervalo, ou especificar diretamente vários pontos de horário de execução.
Exemplo de configuração
Objetivo: O nó executa a cada 6 horas entre 00:00 e 23:59 todos os dias.
A expressão cron é gerada automaticamente com base no horário selecionado e não pode ser modificada manualmente.

Detalhes do agendamento
O sistema de agendamento gera 4 instâncias por dia, com horários agendados de 00:00, 06:00, 12:00 e 18:00.
Para mais cenários de dependência relacionados a agendamentos por hora, consulte Cenários de dependência de agendamento por hora.
Agendamento diário
Um nó diário executa uma vez no horário agendado especificado todos os dias. Ao criar uma tarefa agendada, o horário agendado padrão é gerado aleatoriamente dentro do intervalo de 00:00 a 00:30. Você pode modificá-lo conforme necessário.
Exemplo de configuração
Objetivo: O nó executa uma vez às 13:00 todos os dias.
A expressão cron é gerada automaticamente com base no horário selecionado e não pode ser modificada manualmente.

Detalhes do agendamento
O sistema de agendamento gera uma instância por dia para essa tarefa, com horário agendado de 13:00.
Para mais cenários de dependência relacionados a agendamentos diários, consulte Cenários de dependência de agendamento diário.
Agendamento semanal
Nos dias não agendados, um nó semanal aciona uma execução simulada para garantir que as dependências downstream sejam executadas corretamente. Para mais informações, consulte Execução simulada.
Exemplo de configuração
Objetivo: A tarefa executa no horário especificado toda segunda-feira e sexta-feira. As instâncias geradas na segunda-feira e na sexta-feira são executadas normalmente, enquanto as instâncias dos demais dias são instâncias de execução simulada.
A expressão cron é gerada automaticamente com base no horário selecionado e não pode ser modificada manualmente.

Detalhes do agendamento
O sistema de agendamento gera automaticamente instâncias para a tarefa e as executa.
Ao usar o recurso de backfill de dados, preste atenção à data de negócio selecionada. No DataWorks, data de negócio = data de execução agendada - 1. Por exemplo, para fazer o backfill de uma tarefa semanal que executa na segunda-feira, a data de negócio deve ser o domingo anterior. Se você selecionar uma data diferente, a instância de backfill será uma execução simulada.
Agendamento mensal
Nos dias não agendados, um nó mensal aciona uma execução simulada para garantir que as dependências downstream sejam executadas corretamente. Para mais informações, consulte Execução simulada.
O agendamento mensal suporta a configuração de Specified time como Last day of every month.
Exemplo de configuração
Objetivo: A tarefa executa no horário especificado no último dia de cada mês. As instâncias geradas no último dia de cada mês são executadas normalmente, enquanto as instâncias dos demais dias são instâncias de execução simulada.
A expressão cron é gerada automaticamente com base no horário selecionado e não pode ser modificada manualmente.

Detalhes do agendamento
O sistema de agendamento gera automaticamente instâncias para a tarefa e as executa.
Ao usar o recurso de backfill de dados, preste atenção à data de negócio selecionada. No DataWorks, data de negócio = data de execução agendada - 1. Por exemplo, para fazer o backfill de uma tarefa de fim de mês que executa em 31 de janeiro, a data de negócio deve ser 30 de janeiro. Se você selecionar uma data diferente, a instância de backfill será uma execução simulada.
Agendamento anual
Nos dias não agendados, um nó anual aciona uma execução simulada para garantir que as dependências downstream sejam executadas corretamente. Para mais informações, consulte Execução simulada.
Exemplo de configuração
Objetivo: A tarefa executa no 1º e no último dia de janeiro, abril, julho e outubro de cada ano. As instâncias geradas nas datas especificadas são executadas normalmente, enquanto as instâncias dos demais dias são instâncias de execução simulada.

Detalhes do agendamento
O sistema de agendamento gera automaticamente instâncias para a tarefa e as executa.
Para mais cenários de dependência, consulte Dependências entre ciclos.