Se um nó precisa ser executado conforme o agendamento assim que chega ao ambiente de produção, configure seu modo de geração de instâncias como Imediatamente Após a Implantação.
Contexto
Após implantar um nó, visualize sua configuração mais recente no Operation Center. Todas as noites, o DataWorks gera instâncias agendadas para o dia seguinte com base na configuração de cada tarefa agendada. O modo de geração de instâncias escolhido define quando as alterações de um nó novo ou atualizado entram em vigor para as instâncias agendadas e suas dependências.
O DataWorks oferece dois modos de geração de instâncias: Dia Seguinte e Imediatamente Após a Implantação.
Dia Seguinte: A criação e a atualização de nós afetam as instâncias agendadas do dia seguinte. Caso uma tarefa precise ser executada logo após a implantação no ambiente de produção, execute uma operação de backfill data para essa tarefa.
Imediatamente Após a Implantação: As operações de criação e atualização de nós entram em vigor imediatamente. No entanto, há um intervalo entre a implantação e a geração de instâncias executáveis. Esse intervalo produz efeitos diferentes dependendo do cenário. Para mais informações, consulte Cenários comuns para geração imediata de instâncias.
Observações
Ao definir o modo de geração de instâncias como Imediatamente Após a Implantação, as alterações nas propriedades de reexecução não se aplicam a instâncias já expiradas.
Não é possível configurar nós individuais dentro de um workflow para geração imediata. Defina essa opção para todo o workflow na página de configuração de agendamento.
Independentemente da escolha entre Dia Seguinte ou Imediatamente Após a Implantação na configuração de agendamento, o sistema gera todas as instâncias agendadas para o dia seguinte diariamente entre 22:00 e 24:00. Tarefas implantadas nesse período só gerarão instâncias depois de amanhã.
Modos de geração de instâncias inconsistentes para tarefas upstream e downstream podem criar nós isolados.
Intervalo para geração imediata de instâncias: Para evitar comportamentos inesperados, o processo de geração imediata inclui um intervalo de 10 minutos. O horário agendado de uma tarefa deve ser pelo menos 10 minutos posterior ao horário de implantação para que ela seja executada com a configuração mais recente.
-
Escopo da geração imediata de instâncias (diferenças entre código da tarefa e configurações de agendamento): Nem todas as alterações entram em vigor imediatamente. Distinga entre alterações no código da tarefa e nas configurações de agendamento, pois a lógica de aplicação difere.
Código da tarefa (como lógica SQL e scripts Shell): As instâncias leem o código mais recente da tarefa durante a execução. Portanto, se um erro de código causar uma exceção em tempo de execução, geralmente basta corrigir o código, reimplantá-lo e reexecutar as instâncias correspondentes para recuperar o processo. Não é necessário regenerar as instâncias.
-
Configurações de agendamento (como parâmetros de agendamento e políticas de reexecução): Essas propriedades são fixadas na instância no momento da geração. Se você modificar as configurações de agendamento de uma tarefa após a geração das instâncias, as instâncias existentes não são atualizadas automaticamente e continuarão sendo executadas com a configuração antiga vigente quando foram geradas.
Exemplo: Se você alterar um parâmetro de agendamento de
${bizdate}para${datehour}e implantar a alteração, a referência a${datehour}no código entra em vigor imediatamente. Contudo, o contexto antigo do parâmetro fixado nas instâncias já geradas não é atualizado. Essa incompatibilidade pode causar falhas na análise de parâmetros durante a execução. O mesmo se aplica a cenários como a modificação da source de dados associada a um nó. As instâncias já geradas para o dia atual ainda serão executadas com a configuração anterior à alteração.
Para aplicar alterações de configurações de agendamento a instâncias já geradas, você pode:
No Operation Center, localize a tarefa atualizada e use a operação Refresh Instances para atualizar em lote as configurações de agendamento das instâncias já geradas.
Execute uma operação de backfill data para a tarefa. A operação de backfill gera e executa instâncias com base na configuração mais recente da tarefa.
Como funciona a geração imediata de instâncias
A geração imediata de instâncias aplica-se apenas a horários agendados futuros. Uma instância é executada somente quando seu horário agendado for posterior ao horário de implantação.
No dia em que uma nova tarefa é criada, instâncias agendadas são geradas, mas apenas aquelas cujo horário agendado esteja no futuro serão executadas.
-
Se você atualizar o horário agendado de um nó e o novo horário estiver no passado, nenhuma instância será gerada. Caso o novo horário agendado esteja no futuro, novas instâncias serão geradas com base na nova configuração e substituirão as anteriores.
NotaO horário agendado deve ser pelo menos 10 minutos posterior ao horário de implantação do nó para que as instâncias sejam geradas corretamente de forma imediata.
Horário agendado dentro do intervalo normal de execução
Cenário 1: No dia da criação de um novo nó, instâncias agendadas reais são geradas. Quando o horário agendado é futuro em relação ao momento de geração da instância e a diferença entre os dois pontos é superior a 10 minutos, a instância é agendada e executada normalmente. Para detalhes, consulte Geração imediata de instâncias após a implantação de um novo nó.
Cenário 2: Após atualizar a configuração do nó, se o horário agendado for futuro em relação ao momento de geração da instância e a diferença entre os dois pontos for superior a 10 minutos, a instância é agendada e executada normalmente. A instância executada reflete a configuração atualizada. Para detalhes, consulte Atualizar o agendamento de uma tarefa implantada.
-
Cenário 4: Impacto da alteração do horário agendado nas dependências downstream.
Se o novo horário agendado da instância for futuro em relação ao momento de geração e a diferença entre os dois pontos for superior a 10 minutos, a instância é agendada e executada normalmente. Instâncias downstream que ainda não foram executadas dependerão das novas instâncias após a alteração. Para detalhes, consulte Impacto das alterações de horário agendado nas dependências downstream.
Caso o novo horário agendado da instância esteja no passado em relação ao momento de geração, instâncias de simulação (dry-run) são geradas e as instâncias downstream pendentes tornam-se nós isolados. Para detalhes, consulte Modos de geração de instâncias inconsistentes para tarefas upstream e downstream.
Evite utilizar este recurso ao modificar as configurações de agendamento de nós de produção. Isso pode causar alterações ou inconsistências de dependência, substituição ou exclusão de instâncias, tornando as dependências complexas para o dia atual. No entanto, as dependências da tarefa voltarão ao normal no dia seguinte.
Horário agendado dentro do intervalo de simulação (dry-run)
Se o horário agendado estiver no passado em relação ao horário de implantação, as instâncias ainda são geradas, mas em modo de simulação (dry run). Nenhuma lógica de código real é executada e o status da instância é Instância expirada gerada em tempo real. Para detalhes, consulte Geração imediata de instâncias após a implantação de um novo nó.
-
Cenário 1: O horário agendado é futuro em relação ao momento de geração da instância, mas a diferença entre os dois pontos é inferior a 10 minutos. O status da instância é Expired Instance Generated in Real Time.
Exemplo: O Nó A tem horário agendado para
09:05e é implantado às09:00. Se o horário agendado da instância for futuro em relação ao momento de geração, mas a diferença for menor que 10 minutos, o Nó A gera uma instância de simulação com o status Expired Instance Generated in Real Time. -
Cenário 2: O horário agendado está no passado em relação ao momento de geração da instância. Uma instância com status Expired Instance Generated in Real Time é gerada imediatamente.
Exemplo: O Nó A tem horário agendado para
09:00e é implantado às10:00. O momento de geração da instância é anterior ao horário de implantação. O Nó A gera imediatamente uma instância de simulação com o status Expired Instance Generated in Real Time.
Cenários comuns para geração imediata de instâncias
Os cenários a seguir ilustram como a execução de instâncias e as dependências upstream/downstream se comportam sob o modo Instant generation after publishing: