- カテゴリ:
システム関数 (システム情報)
SYSTEM$GET_JOB_STATUS¶
Snowpark Container Servicesジョブ としてのステータスを取得します。
- こちらもご参照ください。
構文¶
SYSTEM$GET_JOB_STATUS( <job_uuid> [ , <timeout_secs> ] )
引数¶
必須:
job_uuid
Snowflakeが割り当てたジョブの UUID。UUID を探す手順については、 EXECUTE SERVICE トピックの 使用上の注意 をご参照ください。
オプション:
timeout_secs
ステータスを返す前にジョブが終了状態(DONEまたはFAILED)になるまで待機する秒数。指定された時間内にジョブが終了状態に到達しない場合、Snowflakeは現在の状態を返します。
指定がない場合、Snowflakeは現在の状態を即座に返します。
デフォルト: 0秒
戻り値¶
各ジョブコンテナに対して、1つの JSON オブジェクトを持つ JSON 配列のステータス情報を返します。JSON フィールドは以下のとおりです。
status
。ジョブコンテナのステータス。現在サポートされているステータス値は次のとおりです: PENDING、 FAILED、 DONE、 UNKNOWN。message
。特定のステータスの詳細を提供します。たとえば、ステータスが PENDING の場合、このフィールドにはその理由が記述されます。containerName
。コンテナ名。instanceId
。ジョブインスタンス ID。ジョブの場合、これは常に0です。serviceName
。Snowflakeが割り当てたジョブの UUID。image
。実行中のイメージの URL。restartCount
。Snowflakeがコンテナを再起動した回数。再起動回数が多いほど、不健全なジョブであることを示しています。たとえば、ジョブコードがクラッシュすると、コンテナが終了する場合があります。その後、Snowflakeはコンテナの再起動を試みます。この場合、以下のオプションを使用してコンテナログにアクセスし、調査することができます。ライブログ(コンテナが実行中)には SYSTEM$GET_JOB_LOGS を使用します。
永続ログには イベントテーブル を使用します(コンテナが実行されなくなったときに便利です)。
startTime
。コンテナの開始時刻。
使用上の注意¶
ジョブを作成したユーザーのみが、ジョブのステータスにアクセスできます。
例¶
以下の関数は、指定されたジョブのステータスを取得します。
SELECT SYSTEM$GET_JOB_STATUS('01acc9da-0000-60e8-0000-0e9900201012');
サンプル出力:
[
{
"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"
}
]