Catégories :

Fonctions système (Informations système)

SYSTEM$GET_JOB_STATUS

Récupère le statut d’une tâche Snowpark Container Services.

Voir aussi :

Suivi d’une tâche

Syntaxe

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

Arguments

Obligatoire :

job_uuid

UUID de la tâche attribué par Snowflake. Voir les Notes sur l’utilisation dans la rubrique EXECUTE SERVICE pour savoir comment trouver l’UUID.

Facultatif :

timeout_secs

Nombre de secondes à attendre pour que la tâche atteigne un état final (DONE ou FAILED) avant de renvoyer le statut. Si la tâche n’atteint pas l’état final dans le délai spécifié, Snowflake retourne à l’état actuel.

S’il n’est pas spécifié, Snowflake renvoie immédiatement l’état actuel.

La valeur par défaut est 0 seconde.

Renvoie

Renvoie les informations de statut dans un tableau JSON avec un objet JSON pour chaque conteneur de tâche. Les champs JSON sont les suivants :

  • status. Statut du conteneur de tâche. Les valeurs de statut actuellement prises en charge sont les suivantes : PENDING, FAILED, DONE et UNKNOWN.

  • message. Fournit des détails sur le statut spécifique. Par exemple, lorsque le statut est PENDING, ce champ explique pourquoi.

  • containerName. Nom du conteneur.

  • instanceId. ID d’instance de tâche. Pour une tâche, il s’agit toujours de 0.

  • serviceName. UUID de la tâche attribué par Snowflake.

  • image. URL de l’image en cours d’exécution.

  • restartCount. Nombre de fois où Snowflake a redémarré le conteneur. Un nombre de redémarrages plus élevé peut indiquer que la tâche n’est pas en bonne santé. Par exemple, si votre code de tâche se bloque, le conteneur peut sortir. Snowflake tente alors de redémarrer le conteneur. Dans ce cas, pour enquêter, vous pouvez accéder au journal du conteneur en utilisant ces options :

    • Utilisez SYSTEM$GET_JOB_LOGS pour les journaux en direct (le conteneur est en cours d’exécution).

    • Utilisez les tables d’événements pour les journaux persistants (utiles lorsque le conteneur n’est plus en cours d’exécution).

  • startTime. Heure à laquelle le conteneur a démarré.

Notes sur l’utilisation

Seul l’utilisateur qui a créé la tâche peut accéder au statut de la tâche/

Exemples

La fonction suivante permet d’obtenir le statut de la tâche spécifiée :

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

Exemple de sortie :

[
  {
      "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