Pular para o conteúdo

Automatize um fluxo de trabalho com um agendamento

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

Você já tem um fluxo de trabalho, digamos o pipeline de limpeza de vendas de Carregar, transformar e publicar dados. Hoje ele é executado quando você clica em Executar. Este tutorial passa essa tarefa para o PlaidCloud: o fluxo de trabalho é executado segundo um calendário, por conta própria, e você aprende a acompanhá-lo, a comprovar que ele foi executado e a recuperá-lo quando uma execução falha.

Três coisas transformam um pipeline manual em um automatizado, e este tutorial trata de cada uma delas em sequência:

  • Um agendamento: uma regra que dispara o fluxo de trabalho nos horários que você escolher.
  • Um registro em que você pode confiar: histórico de execuções e logs que dizem o que aconteceu enquanto você não estava olhando.
  • Um plano para falhas: porque um job sem supervisão acaba encontrando dados ruins, e ele não deve falhar em silêncio.
AgendamentoExecuçãoHistórico de execuções+ logRecuperarretomar de onde parou
Quando um agendamento assume a execução, o histórico e o log são como você sabe que deu certo, e Retomar é como você corrige quando não deu.
  • Um espaço de trabalho do PlaidCloud com um fluxo de trabalho que já seja executado corretamente quando você o executa manualmente. Se você não tem um, crie-o primeiro com Carregar, transformar e publicar dados.
  • Acesso a Analisar → Ferramentas → Agendador de eventos nesse espaço de trabalho.

Agende um fluxo de trabalho que já passa. A automação repete tudo o que o fluxo de trabalho faz, inclusive seus erros, agora sem supervisão. Execute-o manualmente até um término limpo uma vez antes de colocá-lo em um agendamento.

Etapa 1: confirme que ele é executado manualmente

Seção intitulada “Etapa 1: confirme que ele é executado manualmente”

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

  1. Abra seu projeto e vá para a hierarquia de Fluxos de trabalho.
  2. Clique no ícone de Executar no 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 do fluxo de trabalho faz o mesmo e interrompe uma execução em andamento.)
  3. Acompanhe os ícones de status das etapas enquanto a execução avança. Cada etapa mostra em que ponto está e há quanto tempo está sendo executada; passe o mouse sobre um ícone para ver a mensagem correspondente.

Os status que você verá e o que cada um significa:

Status O que significa
Aguardando Na fila, ainda não iniciada.
Em execução Trabalhando; a duração aumenta.
Concluída Terminou com sucesso.
Aviso Terminou, mas sinalizou algo que vale a pena ler no log.
Erro A etapa falhou; consulte Gerenciamento de erros de etapas.
Ignorada Pulada, por estar desabilitada ou porque suas condições de execução não foram atendidas.
Continuada Falhou, mas estava configurada para continuar em caso de erro, então a execução prosseguiu.

Uma execução limpa termina com todas as etapas Concluídas. Essa é a sua linha de base verde. Os detalhes completos dos status estão em Executar um fluxo de trabalho.

Agora passe essa execução para o Agendador de eventos.

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

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

Os horários seguem o horário de Londres, a menos que você indique outro. Novos eventos usam UTC +0 por padrão, que é lido como horário de Londres, incluindo o horário de verão britânico. Se “9h” precisa significar 9h onde você está, defina o campo Fuso horário no evento; caso contrário, uma execução agendada pode cair horas fora do que você esperava. A maioria dos outros deslocamentos também segue o horário local de um lugar; consulte Agendador de eventos.

Limite um agendamento de teste para que ele não seja executado para sempre. A seção Limit Running executa um evento apenas por um período definido e um número definido de vezes. Em um agendamento que você está apenas experimentando, é assim que você evita um job que dispara discretamente a cada poucos minutos durante semanas.

Antes de confiar no agendamento, veja o que ele realmente fará.

  1. Abra o Calendário de próximas execuções. É uma visualização somente leitura: ela expande os mesmos agendamentos que conduzem a execução real, então o que você vê é o que será executado, e olhar nunca dispara nada.
  2. Alterne entre as visões Mês, Semana e Agenda; use Anterior, Avançar e Hoje para se mover no tempo, e Atualizar para buscar novamente os dados mais recentes.
  3. Confirme que seu evento aparece quando você espera. Cada execução é desenhada como uma barra dimensionada de acordo com a duração típica do fluxo de trabalho.

Barras lado a lado indicam uma sobreposição. Se as barras de duas execuções ficam lado a lado na mesma janela, essas execuções colidem; escalone seus agendamentos se elas competirem pelos mesmos dados ou recursos. Os sensores orientados a eventos não aparecem aqui, pois não têm horário futuro fixo. Consulte Calendário de próximas execuções.

Se você prefere não esperar o relógio, selecione o evento na Events Table e clique em Executar eventos selecionados para disparar imediatamente; é uma boa forma de comprovar agora que o caminho agendado funciona de ponta a ponta.

Etapa 4: acompanhe o histórico de execuções e o log

Seção intitulada “Etapa 4: acompanhe o histórico de execuções e o log”

Uma execução automatizada acontece enquanto você está em outro lugar, então o registro que ela deixa é aquilo em que você realmente se apoia.

  • O histórico de execuções fica junto com o fluxo de trabalho. Cada execução é uma entrada própria. Uma execução retomada é registrada como uma nova execução contendo apenas as etapas que ela executou novamente, e a original mantém sua própria entrada; assim o histórico se lê como uma sequência fiel do que aconteceu, e não como uma única linha que é sobrescrita.
  • O log do fluxo de trabalho captura os eventos conforme acontecem: etapas em execução, avisos gerados. Abra-o na área Projeto, na guia Log; ele também é consolidado no log mais amplo do projeto, para que você possa acompanhar vários fluxos de trabalho ao mesmo tempo. O visualizador ordena e filtra, e você pode abrir qualquer entrada para ver detalhes. Consulte Visualizar o log do fluxo de trabalho.
  • O relatório do fluxo de trabalho documenta o estado atual do fluxo de trabalho: suas etapas, funções e variáveis. Ele é gerado sob demanda a partir do ícone de Relatório na hierarquia de Fluxos de trabalho, o que é útil quando alguém pergunta o que um job automatizado realmente faz. Consulte Visualizar o relatório do fluxo de trabalho.

Depois de uma execução agendada ou sob demanda, abra o log e confirme que a execução esperada está lá e terminou como você pretendia.

Um job sem supervisão acabará encontrando dados ruins. Decida agora o que deve acontecer quando isso ocorrer: o PlaidCloud oferece três respostas, e a certa depende da etapa.

Escolha O que acontece Use quando
Parar o fluxo de trabalho A execução é interrompida; um indicador de erro aparece na etapa e no fluxo de trabalho. O padrão: a maioria das etapas não deve prosseguir após uma falha real.
Continuar em caso de erro A etapa é marcada com um erro, mas a execução a trata como concluída e prossegue. Uma etapa que pode falhar sem consequências por falta de dados.
Fluxo de trabalho de remediação A execução com falha é interrompida e um segundo fluxo de trabalho é iniciado no lugar. Você quer que uma falha notifique alguém ou tente uma correção automática.

Duas configurações moldam isso, ambas na guia Geral do formulário da etapa (clique no ícone de engrenagem da etapa na tabela do fluxo de trabalho ou clique nela com o botão direito e escolha Editar detalhes da etapa):

  • Tentar novamente: uma etapa com falha pode tentar de novo um número definido de vezes, com um intervalo entre as tentativas que vai de segundos a horas. Só isso resolve a maioria das falhas causadas por um sistema remoto temporariamente indisponível. Consulte Gerenciamento de erros de etapas.
  • Ação a executar em caso de erro: escolha Continuar e a falha da etapa não interromperá o fluxo de trabalho. As etapas configuradas assim têm um indicador especial na tabela do fluxo de trabalho. Consulte Continuar em caso de erro.

Continuar em caso de erro esconde a falha do seu plano de remediação. Uma etapa marcada para continuar nunca interrompe o fluxo de trabalho, então também nunca dispara um fluxo de trabalho de remediação; isso só acontece com uma falha que, de outra forma, interromperia a execução. Reserve o continuar em caso de erro para falhas que você realmente aceita ignorar.

Quando uma execução agendada de fato falha, raramente é preciso recomeçar. Retomar reinicia uma execução interrompida ou com erro de onde ela parou: ele executa novamente as etapas que não terminaram com sucesso e deixa as concluídas em paz. Retomar está disponível sempre que a última execução de um fluxo de trabalho terminou pausada, interrompida ou com erro.

Uma automação que você não consegue desligar é um risco. Para tirar um agendamento do ar sem excluí-lo:

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

O evento deixa de disparar conforme o agendamento até que você o reative, pelo mesmo caminho de edição, com Ativo marcado novamente. Para removê-lo definitivamente, use o ícone de excluir. Um evento ativo mostra o ícone Ativo na Events Table, então basta um olhar para saber o que está em operação.

Tudo pronto. Agora você tem um evento agendado, um histórico de execuções para acompanhar e uma forma de tratar a primeira falha, e pode pausar tudo sem excluir.