Categorias:

Funções do sistema (Controle do sistema)

SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS

Anula uma execução da tarefa especificada que o sistema já começou a processar (ou seja, uma execução com um estado EXECUTING na saída TASK_HISTORY).

Sintaxe

SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS( '<task_name>' )
Copy

Argumentos

task_name

Nome da tarefa.

Notas de uso

  • Somente o proprietário da tarefa (ou seja, a função com o privilégio OWNERSHIP na tarefa) ou uma função com o privilégio OPERATE na tarefa pode chamar esta função:

  • task_name é uma cadeia de caracteres, portanto, deve ser delimitada por aspas simples:

    • Observe que o nome completo deve ser incluído entre aspas simples, incluindo o banco de dados e o esquema (se o nome for totalmente qualificado), ou seja, '<bd>.<esquema>.<nome_tarefa>'.

    • Se o nome da tarefa diferenciar letras maiúsculas e minúsculas ou incluir quaisquer caracteres ou espaços especiais, as aspas duplas são necessárias para processar o caso/caracteres. As aspas duplas devem ser incluídas dentro das aspas simples, ou seja, '"<nome_tarefa>"'.

  • Essa função retorna uma mensagem de sucesso antes que a execução atual da tarefa especificada seja de fato cancelada.

  • Se a execução atual da tarefa especificada estiver quase concluída, essa função pode não cancelar a execução.

  • Essa função cancela apenas a execução atual da tarefa especificada. Tarefas adicionais em um DAG que inclui esta tarefa também podem estar em execução. Para cancelar essas execuções, você deve chamar essa função e especificar o nome de cada tarefa filho adicional separadamente.

    Para verificar se uma execução de tarefa foi cancelada ou concluída, ou se alguma tarefa filho está atualmente em execução, consulte a função TASK_HISTORY.

  • Para evitar futuras execuções da tarefa, recomendamos primeiro suspender a tarefa (usando ALTER TASK … SUSPEND) e depois executar esta função.

    Observe que se a tarefa não for suspensa quando esta função for executada, atualmente serão necessários vários minutos para que os serviços de nuvem do Snowflake comecem a programar novamente a execução desta tarefa.

Exemplos

Anular a execução atual de uma tarefa com um nome que não diferencia maiúsculas e minúsculas:

SELECT SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS('mydb.myschema.mytask');
Copy

Anular a execução atual de uma tarefa com um nome que diferencia maiúsculas e minúsculas:

SELECT SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS('mydb.myschema."myTask"');
Copy