Para que um nó gere e execute instâncias imediatamente após a implantação no ambiente de produção, defina o modo de geração de instâncias como Immediately After Deployment.
Contexto
Após implantar um nó, visualize a configuração mais recente no Operation Center. Todas as noites, o DataWorks gera instâncias agendadas para o cronograma do dia seguinte com base na configuração de cada tarefa agendada. Ao implantar um nó novo ou atualizado no ambiente de produção, o modo de geração de instâncias selecionado determina quando as alterações afetam as instâncias agendadas e suas dependências.
No DataWorks, o modo de geração de instâncias oferece duas opções que controlam quando as alterações entram em vigor: Next Day e Immediately After Deployment.
Next Day: As operações de criação e atualização de nós afetam as instâncias agendadas do dia seguinte. Se uma tarefa precisar ser executada imediatamente após a implantação no ambiente de produção, execute uma operação de backfill data para essa tarefa.
Immediately After Deployment: As operações de criação e atualização de nós entram em vigor imediatamente. No entanto, há um intervalo de tempo entre a implantação e a geração de instâncias executáveis. Esse intervalo tem efeitos diferentes dependendo do cenário. Para obter mais informações, consulte Cenários comuns para geração imediata de instâncias.
Observações
Se você definir o modo de geração de instâncias como Immediately After Deployment, as alterações nas propriedades de reexecução não se aplicarão a instâncias já expiradas.
Não é possível configurar nós individuais dentro de um workflow para geração imediata. Configure essa opção para todo o workflow na página de configuração de agendamento.
Independentemente da escolha entre Next Day ou Immediately After Deployment 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 durante esse 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 de tempo 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 da 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. Distingua as alterações no código da tarefa das alterações nas configurações de agendamento, pois a lógica de vigência difere entre elas.
Código da tarefa (como lógica de scripts SQL e Shell): As instâncias leem o código mais recente da tarefa em tempo de execução. Portanto, se um erro de código causar uma exceção durante a 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 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 serã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 entrará em vigor imediatamente. Contudo, o contexto antigo de parâmetros fixado nas instâncias já geradas não será 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 nas configurações de agendamento a instâncias já geradas, proceda de uma das seguintes formas:
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 após a implantação aplica-se apenas a horários agendados futuros. Especificamente, as instâncias são executadas somente quando o horário agendado da tarefa for posterior ao horário de implantação.
No dia de criação de uma nova tarefa, o sistema gera instâncias agendadas, mas executa apenas aquelas cujo horário agendado esteja no futuro.
-
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.
O horário agendado está dentro do intervalo normal de execução
Cenário 1: No dia de criação de um novo nó, o sistema gera instâncias agendadas reais. Quando o horário agendado está no futuro em relação ao momento de geração da instância e a diferença entre os dois pontos temporais supera 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 estiver no futuro em relação ao momento de geração da instância e a diferença entre os dois pontos temporais superar 10 minutos, a instância será agendada e executada normalmente. A instância executada refletirá 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 estiver no futuro em relação ao momento de geração da instância e a diferença entre os dois pontos temporais superar 10 minutos, a instância será agendada e executada normalmente. Instâncias downstream ainda não 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.
Se o novo horário agendado da instância estiver no passado em relação ao momento de geração da instância, o sistema gerará instâncias de simulação (dry-run), e as instâncias downstream ainda não executadas tornar-se-ão nós isolados. Para detalhes, consulte Modos de geração de instâncias inconsistentes para tarefas upstream e downstream.
Recomendamos não usar este recurso ao modificar as configurações de agendamento de nós de produção. Este recurso pode causar alterações, inconsistências, substituição ou exclusão de dependências, tornando-as complexas para o dia atual. No entanto, as dependências da tarefa voltarão ao normal no dia seguinte.
O horário agendado está 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 do nó, as instâncias agendadas ainda serão geradas, mas entrarão em simulação (dry run). O status da instância será Expired instance generated in real time, e nenhuma lógica de código real será executada. 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 está no futuro em relação ao momento de geração da instância, mas a diferença entre os dois pontos temporais é inferior a 10 minutos. O status da instância é Expired Instance Generated in Real Time.
Exemplo: O Nó A tem um horário agendado de
09:05e é implantado às09:00. Se o horário agendado da instância estiver no futuro em relação ao momento de geração da instância, mas a diferença entre os dois pontos temporais for inferior a 10 minutos, o Nó A gerará 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 um horário agendado de
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
Ao usar o modo Instant generation after publishing para gerar instâncias, a execução da instância e o comportamento de dependência upstream/downstream nos cenários relacionados ocorrem da seguinte forma: