Adicionar notificações em um trabalho

O senhor pode configurar as notificações a serem enviadas na execução de um trabalho e na tarefa individual do trabalho para os seguintes eventos:

  • Iniciar

  • Conclusão bem-sucedida

  • Falha

  • A duração excede um limite configurado

O senhor pode enviar notificações para um ou mais endereços email ou para destinos de terceiros, como Slack, Microsoft Teams, PagerDuty ou qualquer serviço baseado em webhook. Este artigo descreve as diferentes maneiras pelas quais o senhor pode configurar as notificações em nível de trabalho.

Adicionar destinos de sistemas de terceiros

Você pode configurar as notificações para serem entregues a sistemas de terceiros. Os destinos de sistemas de terceiros se integram a ferramentas de notificação populares, incluindo Slack, PagerDuty, Microsoft Teams e webhooks HTTP. Um administrador deve configurar os destinos do sistema.

Para configurar os destinos do sistema, acesse a página de configurações do administrador, clique em Editar notificações do sistema e clique em Criar novo destino. Para cada Job ou tarefa, o senhor pode configurar um máximo de três destinos do sistema para cada tipo de evento de notificação. Consulte a página de configurações do administrador.

Importante

O conteúdo das mensagens do Slack e do Microsoft Teams pode mudar em versões futuras. Você não deve implementar clientes ou processamentos que dependam do conteúdo específico ou da formatação dessas mensagens. Se o senhor precisar de um esquema ou formatação específicos para as notificações, a Databricks recomenda a configuração de um webhook definido pelo usuário.

Configurar notificações em um trabalho

Antes de começar, considere o seguinte:

  • Job-As notificações de nível não são enviadas quando as tarefas com falha são repetidas. Para receber uma notificação de falha após cada tarefa com falha, use as notificações de tarefa. Para adicionar notificações para a execução da tarefa, clique em Adicionar ao lado de Notificações no painel de tarefas quando o senhor adicionar ou editar uma tarefa de trabalho.

  • Para cada Job ou tarefa, o senhor pode configurar um máximo de três destinos do sistema para cada tipo de evento de notificação.

  • Um trabalho que foi concluído em um estado Succeeded with failures é considerado um estado bem-sucedido. Para ser notificado quando o trabalho for concluído nesse estado, o senhor deve selecionar Success ao configurar as notificações.

  • Para ser notificado quando seu trabalho exceder um limite de duração, o senhor deve definir o limite.

Para adicionar uma ou mais notificações quando a execução de um trabalho começa, é concluída ou falha, faça o seguinte:

  1. No painel de detalhes doJob para o seu trabalho, role para baixo até a seção de notificações doJob e clique em Edit notifications (Editar notificações).

  2. No canto inferior esquerdo, clique em Adicionar notificação.

  3. Em Destination (Destino), selecione o endereço de e-mail ou um destino do sistema.

  4. Marque as caixas de seleção para cada tipo de evento sobre o qual o senhor deseja ser notificado: começar, Success, Failure, duração warning ou transmissão backlog.

  5. Para configurar outro destino, clique em Adicionar notificação novamente e siga as etapas anteriores.

  6. Depois de configurar todas as notificações, clique em Salvar.

Configurar notificações para trabalhos lentos

Se o senhor tiver configurado uma duração esperada para um trabalho, poderá adicionar uma notificação no site email ou no sistema se o trabalho ou a tarefa exceder o limite configurado. Para receber uma notificação de um trabalho ou tarefa que exceda um limite de duração, selecione Aviso de duração quando o senhor adicionar ou editar uma notificação. Para receber uma notificação de um Job ou tarefa que exceda o backlog de transmissão métrica, selecione backlog de transmissão quando o senhor adicionar ou editar uma notificação.

O seguinte se aplica à transmissão backlog métricas:

  • As notificações são enviadas quando o backlog médio em um período de 10 minutos excede o limite definido.

  • Para evitar o excesso de mensagens, o Databricks aguarda 30 minutos antes de determinar se deve enviar outra mensagem. Embora a lista de pendências permaneça alta, você receberá atualizações em intervalos de 30 minutos.

Filtrar as notificações de execução pulada ou cancelada

O senhor pode reduzir o número de notificações enviadas filtrando as notificações quando uma execução é ignorada ou cancelada. Para filtrar as notificações, selecione Silenciar notificações para execução ignorada ou Silenciar notificações para execução cancelada quando o senhor adicionar ou modificar as notificações do email ou as notificações do sistema.

Em default, a tarefa é tentada novamente três vezes antes de falhar totalmente. Ao configurar as notificações de tarefa, o senhor pode selecionar Silenciar notificações até a última tentativa para filtrar todas as notificações até a última tentativa.

Observação

Quando o senhor seleciona Silenciar notificações por execução ignorada ou Silenciar notificações por execução cancelada para um trabalho, ele não filtra as notificações configuradas para a tarefa do trabalho. Para filtrar todas as notificações de execução ignorada ou cancelada, o senhor também deve filtrar as notificações de nível de tarefa que tiver configurado.

Cargas úteis de webhook HTTP

Você pode configurar webhooks HTTP para serem enviados nos eventos listados na tabela a seguir.

Código do tipo de evento

Quando é enviado?

jobs.on_start

Enviado quando a execução começar.

jobs.on_success

Enviado quando uma execução é interrompida e concluída em um estado bem-sucedido ou bem-sucedido com falhas.

jobs.on_failure

Enviado quando uma execução é interrompida em um estado malsucedido.

jobs.on_duration_warning_threshold_exceeded

Enviado quando uma execução está em andamento há mais tempo do que a duração esperada configurada.

A seguir, exemplos de cargas úteis enviadas pelo Databricks para seu endpoint configurado. Esses webhooks podem ser aplicados ao Job ou à tarefa.

Notificação para um evento de execução de trabalho:

{
  "event_type": "jobs.on_start",
  "workspace_id": "your_workspace_id",
  "run": {
    "run_id": "run_id"
  },
  "job": {
    "job_id": "job_id",
    "name": "job_name"
  }
}

Notificação para um evento de execução de tarefa começar:

{
  "event_type": "jobs.on_start",
  "workspace_id": "your_workspace_id",
  "task": {
    "task_key": "task_name"
  },
  "run": {
    "run_id": "run_id_of_task"
    "parent_run_id": "run_id_of_parent_job_run"
  },
  "job": {
    "job_id": "job_id",
    "name": "job_name"
  }
}

Notificação de falha na execução de um trabalho:

{
  "event_type": "jobs.on_failure",
  "workspace_id": "your_workspace_id",
  "run": {
    "run_id": "run_id"
  },
  "job": {
    "job_id": "job_id",
    "name": "job_name"
  }
}

Notificação de sucesso na execução de uma tarefa:

{
  "event_type": "jobs.on_success",
  "workspace_id": "your_workspace_id",
  "task": {
    "task_key": "task_name"
  },
  "run": {
    "run_id": "run_id_of_task"
    "parent_run_id": "run_id_of_parent_job_run"
  },
  "job": {
    "job_id": "job_id",
    "name": "job_name"
  }
}