Selo de estado:
Preview(teto atual do produto) · Curso ACD-230 — Operação: orquestração, falhas e recuperação · Aula 1 de 8 · Atualizado em 2026-10-04.
Objetivo#
Ao final desta aula você vai ativar a agenda de um pipeline publicado e ler as próximas ocorrências sem errar por três horas, distinguindo com segurança as três ações que a tela oferece.
Vídeo#
Identificador no manifesto: acd-230-01-agenda-fuso-e-pausa · duração-alvo 7 min · tela do produto: /dags.
Roteiro (5 capítulos):
| # | Minutagem-alvo | Capítulo | Rota do produto |
|---|---|---|---|
| 1 | 0:00–0:50 | Abertura: três ações, três botões. Ativar agenda ≠ Executar agora ≠ Pausar agenda — e nenhuma delas é "publicar". | /dags |
| 2 | 0:50–2:40 | O painel Publicação e agenda: Editar agendamento, o campo rotulado Horário (UTC) e o resumo que repete o horário em BRT. | /sources/[id] |
| 3 | 2:40–4:10 | Ativar: o selo passa a Agenda ativa e aparece a Próxima execução nos dois fusos. Ao lado, Executar agora cria uma execução e não liga a agenda. | /sources/[id] |
| 4 | 4:10–5:40 | Pausar: a pausa persiste; o próximo horário é limpo e o evento vai para a auditoria. O que a pausa não faz: interromper execução em curso. | /dags |
| 5 | 5:40–7:00 | Ler a lista de DAGs: Agenda ativa / Agenda pausada / Sem agenda: só execução manual; os três erros do curso; o "faça você mesmo". | /dags |
Conteúdo#
Três decisões, três botões
Ativar agenda liga a repetição e não executa nada na hora. Executar agora cria uma execução imediata da versão publicada e não liga a agenda. Pausar agenda desliga a repetição, limpa o próximo horário e a pausa persiste — ela não volta sozinha no dia seguinte nem na próxima publicação.
O conceito: a agenda é uma regra, não um evento
Um pipeline publicado tem uma definição congelada (a versão) e, separadamente, uma regra de quando executar. Publicar cria a versão e deixa a agenda desligada — isso é tema de publicar e versionar. A agenda é a regra; a execução é o evento que a regra produz. Confundir os dois é o que faz alguém clicar em Executar agora, ver a carga rodar e acreditar que "a partir de amanhã roda sozinho". Não roda: uma execução manual é um evento solto, sem nenhuma consequência sobre a repetição.
As telas e os botões reais
A agenda mora no painel Publicação e agenda, na página do pipeline (/sources/[id]). Ali você encontra Editar agendamento, Ativar agenda (ou Pausar agenda, depois de ligada) e Executar agora. Dois avisos da própria tela valem a aula inteira: com a agenda desligada, o painel diz "Agenda DESLIGADA — nada roda automaticamente até você ativá-la em 'Publicação e agenda'"; com a agenda ligada, ao editar o horário, ele diz "Agenda LIGADA — salvar aqui muda o horário, não desliga nada". E ao disparar uma carga manual, a resposta é explícita: "Execução disparada — ela NÃO liga a agenda. Acompanhe na página da DAG."
Em Orquestração → Execuções (DAGs) (/dags) você vê o outro lado: a lista carimba cada pipeline com Agenda ativa, Agenda pausada ou Sem agenda: só execução manual, e mostra a Próxima execução quando existe. A lista também separa falha na última execução (o que pede ação agora) de falhas no período (histórico) — distinção que a aula 2 explora.
O fuso, sem ambiguidade
A agenda é gravada em UTC. O campo da tela diz, literalmente, Horário (UTC) — e o resumo repete o mesmo instante em BRT, para você conferir:
| Onde | O que aparece |
|---|---|
| Campo de edição | Horário (UTC) — é o valor que você digita |
| Resumo do agendamento | Agendado · Diário às 09:00 UTC (06:00 BRT) |
| Instantes de execução | 15/09/2026, 06:00:00 BRT (09:00:00 UTC) |
Horário de execução ≠ período processado
O horário da agenda diz quando o pipeline roda. O intervalo de dados que ele lê é decidido pelo modo de carga (watermark, partição, janela) — ver ingestão incremental e backfill. E ativar a agenda não dispara recuperação histórica: períodos anteriores só entram se você pedir explicitamente.
Exemplo: a Comércio Aurora
Maria publicou a versão 1 do pipeline de vendas e quer a carga diária às 06:00 BRT. No painel Publicação e agenda ela usa Editar agendamento e digita 09:00 no campo Horário (UTC) — porque BRT é UTC−3. O resumo confirma: Diário às 09:00 UTC (06:00 BRT). Ela salva, usa Ativar agenda, e o selo vira Agenda ativa com a Próxima execução nos dois fusos. Depois, para conferir o pipeline sem esperar o dia seguinte, ela usa Executar agora e acompanha em /dags. Uma semana mais tarde, durante uma migração do ERP, João usa Pausar agenda: o próximo horário é limpo e o pipeline aparece na lista como Agenda pausada. Terminada a migração, alguém precisa reativar — a pausa não expira.
Erros comuns
| Sintoma | Causa provável | Próxima ação |
|---|---|---|
| "Pausei e continuou rodando" | Confundir pausar com executar/cancelar: pausar impede novos agendamentos e não interrompe o que já está em execução | Aguarde a execução em curso terminar; o produto não tem cancelamento de execução |
| "Executei agora e amanhã não rodou" | Executar agora não liga a agenda | Use Ativar agenda — é outro botão, outra decisão |
| Rodou três horas antes/depois | Valor de BRT digitado no campo Horário (UTC) | Corrija usando o resumo em BRT como conferência |
| "Pausei e voltou sozinha" | Alguém republicou e reativou | A pausa persiste no produto; confira a auditoria |
| Reexecutei e duplicou linhas | Escopo de recuperação maior do que o necessário, somado a um modo de carga que acrescenta | Leia a prévia antes de confirmar (aula 4) e revise os modos de carga |
| Log não bate com o erro | Leitura do log da tarefa ou tentativa errada | Desça execução → tarefa → tentativa antes de concluir (aula 2) |
Estado do produto
A lógica de agenda, pausa e fuso é determinística e coberta por testes: o próximo horário é pré-computado em UTC no banco e os despachantes só leem esse campo, sem interpretar cron em laço. Mas o teto da plataforma é Preview: não há SLA de disparo, não há tempo de execução publicado e a execução real em fila de nuvem é NÃO MEDIDO. Na prática: confie na regra (ela é previsível e auditável) e confira o resultado em /dags, em vez de assumir que "agenda ativa" significa "dado no lugar". Ativar ou pausar agenda custa R$ 0; cada execução consome recursos de nuvem.
Faça você mesmo#
No workspace de treino Aurora Varejo (abra /dags no console), como dono. Use só dados sintéticos. Meta: agenda diária 06:00 BRT.
- Em
/dags, localize um pipeline publicado da Aurora e observe o selo de agenda: Agenda ativa, Agenda pausada ou Sem agenda: só execução manual. Anote qual é. - Abra a página do pipeline (
/sources/[id]) e localize o painel Publicação e agenda. Leia a frase sobre a agenda desligada antes de mexer em nada. - Use Editar agendamento e digite 09:00 no campo Horário (UTC) — o equivalente a 06:00 BRT. Confira o resumo: ele deve mostrar os dois horários.
- Use Ativar agenda e confirme que a tela passa a mostrar a Próxima execução nos dois fusos, e que o selo em
/dagsvirou Agenda ativa. - Sem esperar o horário, use Executar agora; leia a mensagem de resposta e confirme que ela diz que a execução não ligou a agenda.
- Use Pausar agenda. Confirme que o próximo horário foi limpo e que o selo em
/dagsvirou Agenda pausada. - Recarregue a página e releia a lista: o selo continua Agenda pausada — a pausa persiste.
Você terminou quando o resumo do agendamento mostrar 09:00 UTC (06:00 BRT), você tiver provado que Executar agora não liga a agenda, e conseguir explicar por que a pausa não volta sozinha.
Checagem rápida#
Três perguntas no final da aula, corrigidas no servidor. A aula só conta como concluída depois da checagem.
Documentação relacionada#
Capacidades ensinadas#
(conceitual — sem capacidade específica da matriz) — o selo exibido na aula é sempre o estado mais conservador entre as capacidades citadas; nada aqui é "GA".