Partilhar via


Executar tarefas continuamente

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

O modo contínuo substitui as recomendações herdadas para tarefas de streaming estruturado, configurando trabalhos com uma política de repetição ilimitada e um máximo de uma execução simultânea.

Importante

A computação sem servidor para trabalhos não suporta o modo contínuo.

Configurar o trabalho para ser executado no modo contínuo

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

  1. Na barra lateral do espaço de trabalho do Azure Databricks, clique em Trabalhos & Pipelines.

  2. Opcionalmente, selecione os filtros Trabalhos e Propriedade de mim .

  3. Clique no link Nome da sua vaga.

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

  5. Opcionalmente, selecione um modo de repetição de tarefa. Pode optar por tentar novamente Na falha para tentar tarefas falhadas dentro de uma tarefa, ou selecionar Nunca para tentar novamente apenas ao nível da tarefa. O modo de repetição de tarefa assume como padrão Em falha para o modo contínuo.

    Nota

    Para um trabalho já existente, talvez seja necessário primeiro clicar em Configurar 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.

Nota

  • Pode haver apenas uma instância em execução de um trabalho contínuo.
  • Existe um atraso entre o término de uma corrida e o início de uma nova corrida. Este atraso deve ser inferior a 60 segundos.
  • Não é possível usar dependências de tarefas com um trabalho contínuo.
  • Não é possível usar políticas de repetição em uma tarefa contínua. Em vez disso, os trabalhos contínuos repetem automaticamente todo o trabalho em caso de falha utilizando um algoritmo de backoff exponencial.
  • Além disso, pode-se configurar novas tentativas no nível da tarefa definindo o modo Repetição da tarefa como Em caso de falha.
  • Selecione Executar agora para acionar uma nova execução de tarefa em uma tarefa contínua em pausa.
  • Para que a sua tarefa contínua adote 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 são tratadas as falhas em trabalhos contínuos?

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

Quando o modo de repetição de tarefa é definido como Em falha, as tarefas com falha são repetidas com um atraso exponencialmente crescente até que o número máximo de novas tentativas permitidas seja atingido (três para um único trabalho de tarefa). Depois de atingido o máximo número de tentativas, a execução é cancelada e uma nova execução é iniciada. Para trabalhos com várias tarefas, uma tarefa com falha dispara 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 nova tentativa.

Falhas consecutivas em um nível de trabalho também são gerenciadas usando backoff exponencial, que permite que trabalhos contínuos sejam executados sem pausa e retornem a um estado íntegro 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 tentativa definido pelo sistema.
  2. Se a próxima execução do 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 tarefa subsequente, o período de repetição é aumentado 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 utilizando esse período máximo. Não há limite para o número de novas tentativas 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 backoff será redefinida.

Pode reiniciar um trabalho contínuo no estado de recuperação exponencial na interface de tarefas ou passando o ID do trabalho para a solicitação 'run-now' na API de Tarefas.