Compartilhar via


Executar trabalhos continuamente

Use o modo contínuo para agendar cargas de trabalho para execução contínua. O Databricks recomenda usar o modo contínuo para cargas de trabalho de streaming sempre ativas.

O modo contínuo substitui as recomendações herdadas para cargas de trabalho de Streaming estruturado para configurar trabalhos com uma política de repetição ilimitada e no máximo uma execução simultânea.

Importante

A computação sem servidor para trabalhos não dá suporte ao modo contínuo.

Configurar o trabalho para execução no modo contínuo

Para configurar um trabalho para execução no modo contínuo, faça o seguinte:

  1. Na barra lateral do workspace do Azure Databricks, clique em Jobs & Pipelines.

  2. Opcionalmente, selecione os filtros Trabalhos e Propriedade minha .

  3. Clique no link Nome do seu trabalho.

  4. Clique em Adicionar gatilho no painel Detalhes do trabalho , selecione Contínuo no tipo gatilho

  5. Opcionalmente, selecione um modo de repetição de tarefa. Você pode optar por Em caso de falha para tentar novamente tarefas com falha em um trabalho, ou selecionar Nunca para tentar novamente apenas no nível do trabalho. O modo de repetição de tarefa usa como padrão na falha para o modo contínuo.

    Observação

    Para um trabalho já existente, talvez seja necessário primeiro clicar em Configurar o modo de repetição e, em seguida, selecionar um modo de repetição de tarefa.

  6. Clique em Salvar.

Para interromper um trabalho contínuo, clique no botão Pausar. Clique em Retomar para reiniciar o trabalho no modo contínuo.

Observação

  • Pode haver apenas uma instância em execução de um trabalho contínuo.
  • Há um atraso entre um término de execução e um novo início de execução. Esse atraso deve ser inferior a 60 segundos.
  • Você não pode usar dependências de tarefa com um trabalho contínuo.
  • Não se pode usar políticas de repetição em um trabalho contínuo. Em vez disso, trabalhos contínuos repitam automaticamente todo o trabalho em caso de falha usando um algoritmo de retirada exponencial .
  • Além disso, você pode configurar novas tentativas no nível da tarefa definindo o modo de repetição de Tarefa como Falha.
  • Selecione Executar agora para acionar uma nova execução de trabalho em um trabalho que esteja em pausa.
  • Para que seu trabalho contínuo escolha uma nova configuração, cancele a execução existente. Uma nova execução é iniciada automaticamente. Você também pode clicar em Reiniciar execução para reiniciar a execução do trabalho com a configuração atualizada.

Como as falhas são tratadas para trabalhos contínuos?

As falhas são gerenciadas usando um algoritmo de retirada exponencial .

Quando o modo de repetição de tarefa é definido como Falha, as tarefas com falha são repetidas com um atraso exponencialmente crescente até que o número máximo de tentativas permitidas seja atingido (três para um único trabalho de tarefa). Depois que as tentativas máximas forem atingidas, a execução será cancelada e uma nova execução será acionada. Para trabalhos com várias tarefas, uma tarefa com falha aciona uma nova execução se não houver outras tarefas em execução ou se todas as outras tarefas não concluídas também estiverem em um estado de falha ou de reexecução.

Falhas consecutivas em um nível de tarefa também são gerenciadas usando o recuo exponencial, o que permite que tarefas contínuas sejam executadas sem interrupções e retornem a um estado saudável quando ocorrerem falhas recuperáveis.

Quando um trabalho contínuo excede o limite permitido para falhas consecutivas, o seguinte descreve como as execuções de trabalho subsequentes são gerenciadas:

  1. O trabalho é reiniciado após um período de repetição definido pelo sistema.
  2. Se a próxima execução de trabalho falhar, o período de repetição será aumentado e o trabalho será reiniciado após esse novo período de repetição.
    1. Para cada falha de execução de trabalho subsequente, o período de repetição de tentativa é aumentado novamente, até um período máximo de repetição definido pelo sistema. Depois de atingir o período máximo de repetição, o trabalho continua a ser repetido usando o período máximo de repetição. Não há limite para o número de repetições para um trabalho contínuo.
    2. Se a execução do trabalho for concluída com êxito e iniciar uma nova execução ou se a execução exceder um limite sem falha, o trabalho será considerado íntegro e a sequência de retirada será redefinida.

Você pode reiniciar um trabalho contínuo no estado de espera exponencial na interface do usuário de Trabalhos ou passando a ID da tarefa para a solicitação run-now na API de Trabalhos.