- Categorias:
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 DAG de tarefas compostas por uma tarefa raiz programada e uma ou mais tarefas filho (isto é, tarefas que têm uma tarefa predecessora definida). Para os propósitos desta função, tarefa raiz refere-se à tarefa única programada ou à tarefa raiz em um DAG.
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>' ] )
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
a10000
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:
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. |
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 |
Time when the root task is/was scheduled to start running. Note that we make a best effort to ensure absolute precision, but only guarantee that tasks do not execute before the scheduled time. |
QUERY_START_TIME |
TIMESTAMP_LTZ |
Time when the query in the root task definition started to run. This timestamp aligns with the start time for the query returned by QUERY_HISTORY. |
NEXT_SCHEDULED_TIME |
TIMESTAMP_LTZ |
Time when the standalone or root task (in a DAG) is next scheduled to start running, assuming the current run of the standalone task or DAG started at the SCHEDULED_TIME time completes in time. |
ROOT_TASK_ID |
TEXT |
Unique identifier for the root task in a DAG. This ID matches the ID column value in the SHOW TASKS output for the same task. |
GRAPH_VERSION |
NUMBER |
Integer identifying the version of the DAG that was run, or is scheduled to be run. |
RUN_ID |
NUMBER |
Time when the standalone or root task in a DAG is/was originally scheduled to start running. Format is epoch time (in milliseconds). The combination of the ROOT_TASK_ID and RUN_ID values identifies a specific run of a DAG. . Original scheduled time refers to rare instances when the system may reschedule the same task to run at a different time to retry it or rebalance the load. If that happens, RUN_ID shows the original scheduled run time and SCHEDULED_TIME shows the rescheduled run time. |
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;
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'));