Categorias:

Information Schema , Funções de tabela

CURRENT_TASK_GRAPHS

Retorna o status de uma execução de gráfico que está atualmente programada ou em execução. Um gráfico é atualmente definido como uma única tarefa programada ou um gráfico de tarefas composto por uma tarefa raiz programada e uma ou mais tarefas filho. Para os propósitos desta função, tarefa raiz refere-se à tarefa única programada ou à tarefa raiz em um gráfico de tarefas.

Esta função retorna detalhes para execuções de gráficos que estão atualmente em execução ou que estão programadas para serem executadas nos próximos 8 dias. Para recuperar os detalhes das execuções do gráfico concluídas nos últimos 60 minutos, consulte a função de tabela COMPLETE_TASK_GRAPHS.

A função retorna os detalhes da execução do gráfico para toda sua conta Snowflake ou uma tarefa raiz especificada.

Sintaxe

CURRENT_TASK_GRAPHS(
      [ RESULT_LIMIT => <integer> ]
      [, ROOT_TASK_NAME => '<string>' ] )
Copy

Argumentos

Todos os argumentos são opcionais.

RESULT_LIMIT => integer

Um número especificando o número máximo de linhas retornadas pela função. Note que os resultados são devolvidos em ordem decrescente de SCHEDULED_TIME. Se o número de linhas correspondentes for maior do que o limite de resultados, as execuções do gráfico com o carimbo de data/hora mais recente programado serão devolvidas, até o limite especificado.

Intervalo: 1 a 10000

Padrão: 1000

ROOT_TASK_NAME => string

Uma cadeia de caracteres que não diferencia maiúsculas e minúsculas, especificando o nome da tarefa raiz. Somente nomes de tarefas não qualificadas são suportados. Somente as execuções de gráfico para a tarefa especificada são retornadas. Observe que se várias tarefas tiverem o mesmo nome, a função retorna a execução de gráfico para cada uma dessas tarefas.

Notas de uso

  • Retorna resultados somente para a função ACCOUNTADMIN, o proprietário da tarefa (ou seja, a função com o privilégio OWNERSHIP para a tarefa) ou uma função com o privilégio global MONITOR EXECUTION. Observe que a menos que uma função com o privilégio MONITOR EXECUTION também tenha o privilégio USAGE no banco de dados e esquema que armazena a tarefa, os valores DATABASE_NAME e SCHEMA_NAME na saída serão NULL.

  • Quando a função CURRENT_TASK_GRAPHS é consultada, seu nome de tarefa e os argumentos de limite de resultado são aplicados primeiro, seguido da cláusula WHERE e LIMIT, respectivamente, se especificado. Além disso, a função CURRENT_TASK_GRAPHS retorna registros em ordem decrescente SCHEDULED_TIME.

    Na prática, se você tiver muitos gráficos de tarefas rodando em sua conta, os resultados retornados pela função poderiam incluir apenas tarefas programadas, especialmente se o valor RESULT_LIMIT for relativamente baixo.

  • Ao chamar uma função de tabela do Information Schema, a sessão deve ter um esquema INFORMATION_SCHEMA em uso ou o nome da função deve ser totalmente qualificado. Para obter mais detalhes, consulte Snowflake Information Schema.

Saída

A função retorna as seguintes colunas:

Nome da coluna

Tipo de dados

Descrição

ROOT_TASK_NAME

TEXT

Nome da tarefa raiz.

DATABASE_NAME

TEXT

Nome do banco de dados que contém o gráfico.

SCHEMA_NAME

TEXT

Nome do esquema que contém o gráfico.

STATE

TEXT

Estado da execução do gráfico:

  • SCHEDULED: a tarefa raiz é programada em um momento futuro.

  • EXECUTING: pelo menos uma execução de tarefa no gráfico ainda está sendo executada, ou a tarefa raiz foi executada com sucesso até a conclusão e uma ou mais tarefas filho estão programadas.

Observe que se o estado da execução da tarefa raiz for SKIPPED, a função não retorna uma linha para a execução.

SCHEDULED_FROM

TEXT

Uma das opções:

  • SCHEDULE: a tarefa foi agendada para execução normalmente, conforme descrito nas cláusulas SCHEDULE ou AFTER de CREATE TASK.

  • EXECUTE TASK: a tarefa foi agendada para execução usando EXECUTE TASK.

  • MANUAL RETRY: a tarefa foi agendada para execução usando EXECUTE TASK … RETRY LAST.

Para execuções de tarefas filho em um gráfico de tarefas, a coluna retorna o mesmo valor que a execução da tarefa raiz.

FIRST_ERROR_TASK_NAME

TEXT

Nome da primeira tarefa no gráfico que retornou um erro; retorna NULL se nenhuma tarefa produziu um erro.

FIRST_ERROR_CODE

NUMBER

Código de erro do erro retornado pela tarefa nomeada em FIRST_ERROR_TASK_NAME; retorna NULL se nenhuma tarefa produziu um erro.

FIRST_ERROR_MESSAGE

TEXT

Mensagem de erro do erro retornado pela tarefa nomeada em FIRST_ERROR_TASK_NAME; retorna NULL se nenhuma tarefa produziu um erro.

SCHEDULED_TIME

TIMESTAMP_LTZ

Hora em que a tarefa raiz está/estava programada para começar a execução. Note que fazemos o melhor para assegurar uma precisão absoluta, mas só garantimos que as tarefas não sejam executadas antes do horário programado.

QUERY_START_TIME

TIMESTAMP_LTZ

Horário em que a consulta na definição da tarefa raiz começou a ser executada. Este carimbo de data/hora se alinha à hora de início da consulta retornada por QUERY_HISTORY.

NEXT_SCHEDULED_TIME

TIMESTAMP_LTZ

Hora em que a tarefa autônoma ou raiz (em um Gráficos da tarefa) é a próxima programada para começar a funcionar, assumindo que a execução atual da tarefa autônoma ou Gráficos da tarefa iniciada na hora SCHEDULED_TIME é concluída a tempo.

ROOT_TASK_ID

TEXT

Identificador exclusivo para a tarefa raiz em um Gráficos da tarefa. Esta ID corresponde ao valor da coluna ID na saída SHOW TASKS para a mesma tarefa.

GRAPH_VERSION

NUMBER

Número inteiro que identifica a versão do Gráficos da tarefa que foi executado, ou que está programado para ser executado.

RUN_ID

NUMBER

Hora em que a tarefa autônoma ou raiz em um Gráficos da tarefa está/estava originalmente programada para começar a execução. O formato é a hora da época (em milissegundos). . . Horário programado original refere-se a raros casos em que o sistema pode reprogramar a mesma tarefa para ser executada em um horário diferente a fim de tentar novamente ou reequilibrar a carga. Se isso acontecer, RUN_ID mostra o tempo de execução original programado e SCHEDULED_TIME mostra o tempo de execução reprogramado. . . Observe que RUN_ID pode não ser um identificador exclusivo para a tarefa/gráfico atual executado antes da nova tentativa. Você pode usar a coluna GRAPH_RUN_GROUP_ID como substituto de RUN_ID.

ATTEMPT_NUMBER

NUMBER

Número inteiro que representa o número de tentativas de execução desta tarefa. Inicialmente um.

CONFIG

TEXT

Exibe a configuração de nível de gráfico usada durante a execução do gráfico, se definida explicitamente. Caso contrário, exibe NULL.

GRAPH_RUN_GROUP_ID

NUMBER

Identificador para a execução do gráfico. Quando uma execução de gráfico tem várias execuções de tarefas, cada execução de tarefa mostrará o mesmo GRAPH_RUN_GROUP_ID. A combinação de GRAPH_RUN_GROUP_ID e ATTEMPT_NUMBER pode ser usada para identificar exclusivamente uma execução de gráfico.

BACKFILL_INFO

OBJECT

Reservado para uso futuro. O valor retornado para todas as linhas é NULL.

Exemplos

Recuperar as 1.000 execuções mais recentes da gráfico (concluída, ainda em execução ou programada no futuro) na conta. Observe que o número máximo de linhas retornadas pela função é limitado a 1000 por padrão. Para alterar o número de linhas devolvidas, modifique o valor do argumento RESULT_LIMIT:

select *
  from table(information_schema.current_task_graphs())
  order by scheduled_time;
Copy

Recuperar os 10 execuções mais recentes de gráfico para uma tarefa específica (ainda em execução ou programada no futuro):

select *
  from table(information_schema.current_task_graphs(
    result_limit => 10,
    root_task_name=>'MYTASK'));
Copy