Categorias:

Funções do sistema (Informações do sistema)

SYSTEM$GET_JOB_STATUS

Recupera o status como um trabalho do Snowpark Container Services.

Consulte também:

Monitoramento de um trabalho

Sintaxe

SYSTEM$GET_JOB_STATUS( <job_uuid> [ , <timeout_secs> ]  )
Copy

Argumentos

Obrigatório:

job_uuid

UUID atribuído pelo Snowflake do trabalho. Consulte as Notas de uso no tópico EXECUTE SERVICE para obter instruções sobre como encontrar o UUID.

Opcional:

timeout_secs

Número de segundos de espera para que o trabalho atinja um estado terminal (DONE ou FAILED) antes de retornar o status. Se o trabalho não atingir o estado terminal dentro do tempo especificado, o Snowflake retornará o estado atual.

Se não for especificado, o Snowflake retornará o estado atual imediatamente.

Padrão: 0 segundos

Retornos

Retorna informações de status em uma matriz JSON com um objeto JSON para cada contêiner de trabalho. Os campos JSON são:

  • status. Status do contêiner de trabalho. Os valores de status atualmente suportados incluem: PENDING, FAILED, DONE e UNKNOWN.

  • message. Fornece detalhes sobre o status específico. Por exemplo, quando o status é PENDING, este campo descreve o motivo.

  • containerName. Nome do contêiner.

  • instanceId. ID da instância de trabalho. Para um trabalho, é sempre 0.

  • serviceName. UUID atribuído pelo Snowflake do trabalho.

  • image. URL da imagem que está sendo executada.

  • restartCount. Número de vezes que o Snowflake reiniciou o contêiner. Uma contagem de reinicializações mais alta pode indicar um trabalho não íntegro. Por exemplo, se o código do seu trabalho falhar, o contêiner poderá sair. Snowflake então tenta reiniciar o contêiner. Nesse caso, para investigar, você pode acessar o log do contêiner usando estas opções:

    • Use SYSTEM$GET_JOB_LOGS para logs ativos (o contêiner está em execução).

    • Use tabelas de eventos para logs persistentes (úteis quando o contêiner não estiver mais em execução).

  • startTime. Hora em que o contêiner foi iniciado.

Notas de uso

Somente o usuário que criou o trabalho pode acessar o status do trabalho.

Exemplos

A função a seguir recupera o status do trabalho especificado:

SELECT SYSTEM$GET_JOB_STATUS('01acc9da-0000-60e8-0000-0e9900201012');
Copy

Exemplo de saída:

[
  {
      "status":"DONE",
      "message":"Container finished",
      "containerName":"main",
      "instanceId":"0",
      "serviceName":"JOB_01ACC9DA000060E800000E9900201012",
      "image":"<account>.registry.snowflakecomputing.com/tutorial_db/data_schema/tutorial_repository/my_job_image:tutorial",
      "restartCount":0,
      "startTime":"2023-01-01T00:00:00Z"
  }
]
Copy