出力と終了コード
Nodaro CLI の出力をテーブルまたは JSON で読み取り、--watch で実行の終了まで追跡し、失敗・キャンセル・保留の終了コードでスクリプトを分岐させます。
Nodaro CLI の出力は、デフォルトではターミナルで読みやすい形式になり、--json を付けると機械可読になります。--watch を付けると、実行系のコマンドは実行が終わるまで待機し、その結果を終了コードで報告するので、シェルスクリプトや CI ジョブはそれをもとに処理を分岐できます。
テーブルと JSON
--json を付けない場合、list コマンドは小さな ASCII テーブルを表示し、get コマンドは整形された JSON ブロックを表示します。読み取り系のコマンドはすべて --json を受け付け、付けると jq にそのまま渡せる完全なペイロードを表示します。
nodaro projects list --json | jq '.[].id'
nodaro workflows run wf_abc --json--watch で実行を追跡する
実行系のコマンドは、Nodaro が実行を受け付けた時点ですぐに応答を返します。実行が終わるまでポーリングを続けるには、--watch を付けます。
nodaro workflows run wf_abc --watch
nodaro nodes run generate-image --param prompt="a snow leopard" --watch --poll-interval 1000--watch は、workflows run、apps run、nodes run などの実行系のコマンド、executions get、そしてアセットグループとメディアグループの生成系コマンドで使えます。--poll-interval は、2 回のポーリングの間隔をミリ秒単位で設定します。
終了コード
| コード | 意味 |
|---|---|
0 | 成功です。 |
1 | 認証エラー、対象が見つからない、引数のエラー、ネットワークのエラーのいずれかです。 |
2 | --watch が終了し、実行は失敗しました。 |
3 | ジョブがレビューのために保留された(pending_review)ため、--watch が停止しました。人が判断している状態で、失敗ではありません。 |
130 | --watch が終了し、実行はキャンセルされました。 |
--json を付けると、CLI はペイロードを表示するだけで、コード 2、3、130 のいずれも設定せずに終了します。このモードでは、代わりに出力の status フィールドで分岐してください。
status=$(nodaro workflows run wf_abc --watch --json | jq -r '.status')トークンがない、期限切れ、または無効な場合、CLI はその旨を表示して nodaro auth login を提案し、コード 1 で終了します。それ以外の API エラーでは、メッセージとエラーコードを表示します。コードの一覧は、エラーを参照してください。
ジョブがレビューのために保留された場合
一部のデプロイ環境では、生成結果を引き渡す前にレビューします。そのようなデプロイ環境では、ジョブが pending_review ステータスになることがあります。作業自体は完了しており、クレジットは確保されたままで、結果を引き渡すかどうかは人が判断します。
このステータスは自動では変わらないため、--watch はポーリングを停止します。awaiting review (a human decision is pending; not a failure) と表示し、コード 3 で終了します。
- リクエストを再送信しないでください。重複したリクエストも、同じように保留されます。
- 後で確認してください。
nodaro jobs get <id>を使います。ジョブは、次の 3 つの状態のいずれかで終わります。
| ステータス | 意味 |
|---|---|
completed | 結果が承認され、引き渡されました。 |
failed | 結果が却下されました。error_hint.kind は policy-block で、error_hint.reason にはユーザーに表示するテキストが入ります。 |
cancelled | ジョブがキャンセルされました。 |
nodaro nodes run generate-image --param prompt="..." --watch
case $? in
0) echo "released" ;;
3) echo "awaiting review, check back later" ;;
*) echo "failed" ;;
esacよくある質問
関連ページ
コマンド
例
パラメーターと入力ファイル
エラー
最終更新