- Kategorien:
Systemfunktionen (Systeminformationen)
SYSTEM$GET_JOB_STATUS¶
Ruft den Status als Snowpark Container Services-Job ab.
- Siehe auch:
Syntax¶
SYSTEM$GET_JOB_STATUS( <job_uuid> [ , <timeout_secs> ] )
Argumente¶
Benötigt:
job_uuid
Von Snowflake zugewiesene UUID des Jobs. Eine Anleitung zum Auffinden der UUID finden Sie unter Nutzungshinweise zum EXECUTE SERVICE-Thema.
Optional:
timeout_secs
Anzahl der Sekunden, die gewartet wird, bis der Job einen Endzustand (DONE oder FAILED) erreicht hat, bevor der Status zurückgegeben wird. Wenn der Job den Endzustand nicht innerhalb der spezifizierten Zeit erreicht, gibt Snowflake den aktuellen Status zurück.
Wenn nicht angegeben, gibt Snowflake sofort den aktuellen Status zurück.
Der Standard ist 0 Sekunden.
Rückgabewerte¶
Gibt Statusinformationen in einem JSON-Array mit einem JSON-Objekt für jeden Jobcontainer zurück. Die JSON-Felder sind:
status
. Status des Jobcontainers. Derzeit werden folgende Statuswerte unterstützt: PENDING, FAILED, DONE und UNKNOWN.message
. Stellt Details über den spezifischen Status bereit. Wenn der Status z. B. PENDING ist, wird in diesem Feld beschrieben, warum.containerName
. Name des Containers.instanceId
. Jobinstanz-ID. Für einen Job ist dies immer 0.serviceName
. Von Snowflake zugewiesene UUID des Jobs.image
. URL des in Ausführung befindlichen Images.restartCount
. Häufigkeit, mit der Snowflake den Container neu gestartet hat. Eine höhere Anzahl von Neustarts kann auf einen problembehafteten Job hindeuten. Wenn zum Beispiel Ihr Jobcode abstürzt, kann der Container beendet werden. Snowflake versucht dann, den Container neu zu starten. In diesem Fall können Sie mit diesen Optionen auf das Containerprotokoll zugreifen, um die Situation zu untersuchen:Verwenden Sie die SYSTEM$GET_JOB_LOGS für Live-Protokolle (wenn der Container ausgeführt wird).
Verwenden Sie Ereignistabellen für dauerhafte Protokolle (nützlich, wenn der Container nicht mehr ausgeführt wird).
startTime
. Zeitpunkt des Starts des Containers.
Nutzungshinweise¶
Nur der Benutzer, der den Job erstellt hat, kann auf den Jobstatus zugreifen.
Beispiele¶
Die folgende Funktion ruft den Status des angegebenen Jobs ab:
SELECT SYSTEM$GET_JOB_STATUS('01acc9da-0000-60e8-0000-0e9900201012');
Beispielausgabe:
[
{
"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"
}
]