Pular para o conteúdo

Automatizar um fluxo de trabalho com um agendamento

~25 minutos · uma execução agendada, um histórico de execuções, uma falha tratada

Já tem um fluxo de trabalho — por exemplo, o pipeline de limpeza de vendas de Carregar, transformar e publicar dados. Neste momento, é executado quando clica em Executar. Este tutorial entrega essa tarefa ao PlaidCloud: o fluxo de trabalho é executado segundo um calendário, sozinho, e aprende a acompanhá-lo, a comprovar que foi executado e a recuperá-lo quando uma execução falha.

Três coisas transformam um pipeline manual num pipeline automatizado, e este tutorial trata de cada uma por sua vez:

  • Um agendamento — uma regra que aciona o fluxo de trabalho nos momentos que escolher.
  • Um registo em que pode confiar — histórico de execuções e registos que lhe dizem o que aconteceu enquanto não estava a observar.
  • Um plano para falhas — porque uma tarefa sem supervisão acaba por encontrar dados incorretos, e não deve falhar em silêncio.
AgendamentoExecuçãoHistórico de execuções+ registoRecuperarretomar do ponto onde parou
Quando um agendamento assume a execução, o histórico e o registo são a forma de saber que funcionou — e Retomar é a forma de corrigir quando não funcionou.
  • Uma área de trabalho PlaidCloud com um fluxo de trabalho que já é executado corretamente quando o executa manualmente. Se não tiver um, crie-o primeiro com Carregar, transformar e publicar dados.
  • Acesso a Analisar → Ferramentas → Agendador de eventos nessa área de trabalho.

Agende um fluxo de trabalho que já passa. A automatização repete tudo o que o fluxo de trabalho faz — incluindo os seus erros, agora sem supervisão. Execute-o manualmente até ao fim sem problemas antes de o colocar num agendamento.

Abra o fluxo de trabalho e execute-o uma vez, da forma manual, para ter uma base de comparação.

  1. Abra o projeto e vá à hierarquia de Fluxos de trabalho.
  2. Clique no ícone de execução do fluxo de trabalho ou abra o fluxo de trabalho e escolha Run All no menu Ações. (O botão Toggle Start/Stop no topo da tabela de fluxos de trabalho faz o mesmo e interrompe uma execução em curso.)
  3. Observe os ícones de estado dos passos à medida que a execução avança. Cada passo mostra em que ponto se encontra e há quanto tempo está em execução — passe o cursor sobre um ícone para ver a mensagem associada.

Os estados que verá e o que cada um significa:

Estado O que significa
Em espera Em fila, ainda não iniciado.
Em execução A trabalhar; a duração vai aumentando.
Concluído Terminado com êxito.
Aviso Terminado, mas assinalou algo que vale a pena ler no registo.
Erro O passo falhou — consulte Gerir erros de passos.
Ignorado Saltado — desativado, ou as suas condições de execução não foram cumpridas.
Continuado Falhou, mas estava configurado para continuar em caso de erro, pelo que a execução prosseguiu.

Uma execução limpa termina com todos os passos Concluído. Essa é a sua base de referência sem problemas. Os detalhes completos dos estados estão em Executar um fluxo de trabalho.

Agora entregue essa execução ao Agendador de eventos.

  1. Abra Analisar, selecione Ferramentas e clique em Agendador de eventos. A Events Table lista todos os eventos já configurados para a área de trabalho.
  2. Clique em Adicionar evento agendado.
  3. Preencha os campos obrigatórios assinalados no formulário, apontando o evento para o fluxo de trabalho que acabou de executar (e para o respetivo projeto).
  4. Abra o separador Event Schedule e escolha um Schedule type:
    • Use Classic Schedule — escolha os meses, dias, horas e minutos específicos de execução. Comece por algo que veja acontecer em breve, como daqui a alguns minutos.
    • Use Workday Schedule — escolha um dia útil financeiro em vez de uma hora do relógio. Os agendamentos por dia útil também podem respeitar calendários de feriados, para que uma execução caia no dia útil certo.
  5. Clique em Criar.

A Events Table lista agora o seu evento, e a coluna de descrição mostra se está agendado por mês, por dia/hora/minuto ou por dia útil.

As horas são horas de Londres, salvo indicação em contrário. Os novos eventos têm como predefinição UTC +0, que é lido como hora de Londres, incluindo a hora de verão britânica. Se “9h” tiver de significar 9h onde se encontra, defina o campo Fuso horário no evento — caso contrário, uma execução agendada pode ficar com horas de diferença face ao esperado. A maioria dos outros desvios também segue a hora local de um lugar — consulte Agendador de eventos.

Limite um agendamento de teste para que não possa ser executado para sempre. A secção Limit Running executa um evento apenas durante um período definido e um número definido de vezes. Num agendamento que está apenas a experimentar, é assim que evita uma tarefa que dispara discretamente de poucos em poucos minutos durante semanas.

Antes de confiar no agendamento, veja o que ele vai realmente fazer.

  1. Abra o Upcoming Runs Calendar. É uma pré-visualização só de leitura — expande os mesmos agendamentos que determinam a execução real, pelo que o que vê é o que será executado, e olhar nunca aciona nada.
  2. Alterne entre as vistas Mês, Semana e Agenda; utilize Anterior, Seguinte e Hoje para se deslocar no tempo, e Atualizar para voltar a obter os dados mais recentes.
  3. Confirme que o seu evento aparece quando espera. Cada execução é desenhada como uma barra com o tamanho da duração típica do fluxo de trabalho.

Barras lado a lado significam sobreposição. Se as barras de duas execuções estiverem lado a lado na mesma janela, essas execuções colidem — escalone os respetivos agendamentos se competirem pelos mesmos dados ou recursos. Os sensores orientados por eventos não aparecem aqui; não têm uma hora futura fixa. Consulte Calendário de próximas execuções.

Se preferir não esperar pelo relógio, selecione o evento na Events Table e clique em Executar eventos selecionados para o acionar de imediato — uma boa forma de comprovar já que o caminho agendado funciona de ponta a ponta.

Passo 4: Acompanhar o histórico de execuções e o registo

Seção intitulada “Passo 4: Acompanhar o histórico de execuções e o registo”

Uma execução automatizada acontece enquanto está noutro sítio, pelo que o registo que deixa é aquilo em que realmente confia.

  • O histórico de execuções reside no fluxo de trabalho. Cada execução é uma entrada própria. Uma execução retomada é registada como uma nova execução que contém apenas os passos que voltou a executar, e a original mantém a sua própria entrada — pelo que o histórico se lê como uma sequência fiel do que aconteceu, não como uma única linha que é substituída.
  • O registo do fluxo de trabalho capta os eventos à medida que acontecem — passos em execução, avisos emitidos. Abra-o a partir da área Projeto, no separador Registo; também é consolidado no registo mais abrangente do projeto, para poder acompanhar vários fluxos de trabalho em simultâneo. O visualizador ordena e filtra, e pode abrir qualquer entrada para ver os detalhes. Consulte Ver o registo do fluxo de trabalho.
  • O relatório do fluxo de trabalho documenta o estado atual do fluxo de trabalho — os seus passos, funções e variáveis. É gerado a pedido a partir do ícone Relatório na hierarquia de Fluxos de trabalho, o que é útil quando alguém pergunta o que uma tarefa automatizada realmente faz. Consulte Ver o relatório do fluxo de trabalho.

Depois de uma execução agendada ou a pedido, abra o registo e confirme que a execução esperada lá está e terminou como pretendia.

Uma tarefa sem supervisão acabará por encontrar dados incorretos. Decida já o que deve acontecer quando isso suceder — o PlaidCloud oferece três respostas, e a certa depende do passo.

Opção O que acontece Utilize-a quando
Parar o fluxo de trabalho A execução pára; é apresentado um indicador de erro no passo e no fluxo de trabalho. A predefinição — a maioria dos passos não deve avançar após uma falha real.
Continuar em caso de erro O passo é marcado com um erro, mas a execução trata-o como concluído e prossegue. Um passo que pode falhar sem consequências por falta de dados.
Fluxo de trabalho de correção A execução falhada pára e é iniciado um segundo fluxo de trabalho em seu lugar. Pretende que uma falha notifique alguém ou tente uma correção automática.

Duas definições moldam isto, ambas no separador Geral do formulário do passo (clique no ícone de engrenagem do passo na tabela de fluxos de trabalho ou clique com o botão direito e escolha Editar detalhes do passo):

  • Tentar novamente — um passo falhado pode repetir um número definido de vezes, com um intervalo entre tentativas de segundos a horas. Só isto resolve a maioria das falhas causadas por um sistema remoto estar brevemente indisponível. Consulte Gerir erros de passos.
  • Ação a executar em caso de erro — escolha Continuar e a falha do passo não interromperá o fluxo de trabalho. Os passos configurados assim têm um indicador especial na tabela de fluxos de trabalho. Consulte Continuar em caso de erro.

Continuar em caso de erro oculta a falha do seu plano de correção. Um passo marcado para continuar nunca interrompe o fluxo de trabalho, pelo que também nunca aciona um fluxo de trabalho de correção — só uma falha que, de outro modo, interromperia a execução o faz. Reserve o continuar em caso de erro para falhas que pode genuinamente ignorar.

Quando uma execução agendada falha, raramente é necessário recomeçar. Retomar recupera uma execução parada ou com erro a partir do ponto onde ficou — volta a executar os passos que não terminaram com êxito e deixa os concluídos em paz. Retomar está disponível sempre que a última execução de um fluxo de trabalho terminou em pausa, parada ou com erro.

A automatização que não se pode desligar é um risco. Para pôr um agendamento offline sem o eliminar:

  1. Abra Analisar → Ferramentas → Agendador de eventos e clique no ícone de edição do evento.
  2. Desmarque a caixa Ativo e clique em Atualizar.

O evento deixa de ser acionado segundo o seu agendamento até o reativar — pelo mesmo caminho de edição, com Ativo marcado novamente. Para o remover definitivamente, utilize antes o ícone de eliminação. Um evento ativo mostra o ícone Ativo na Events Table, pelo que uma vista de olhos indica o que está em vigor.

Está tudo pronto. Agora tem um evento agendado, um histórico de execuções para acompanhar e uma forma de tratar a primeira falha — e pode pôr tudo em pausa sem eliminar.