SYSTEM$GET_JOB_STATUS

Snowpark Container Servicesジョブ としてのステータスを取得します。

こちらもご参照ください。

ジョブのモニタリング

構文

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

引数

必須:

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');
Copy

サンプル出力:

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