13
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

待機ステップを利用することで、実行中の処理を一時的に停止できます(プログラミングにおけるSleep処理)。この記事では次のポイントを確認します。

  • 待機ステップとは
  • 待機ステップの利用と動作確認
  • 待機ステップの留意事項

なお、この記事は次の記事の内容を理解していることを前提としています。

待機ステップとは

待機ステップを利用すると、CAIプロセスの実行を任意のステップ位置で待機(Sleep)できます。待機方法には次の2つのタイプがあります。

  • 特定の時間 ... 指定 時刻 まで待機する
  • 待機期間後 ... 指定 時間 (例えば30秒)が経過するまで待機する

待機ステップの利用と動作確認

CAIプロセスの作成

次の手順では、プロセス起動時の時刻を取得、待機ステップにより10秒待機後の時刻取得して、2つの時刻を呼び出し元に返すCAIプロセスを作成しています。

  1. CAIプロセスを次の設定で作成します。

    • 名前を recipe-pca-stepWaitSleep とする
    • 匿名アクセス を許可する
    • クラウドサーバー にデプロイする
  2. 出力フィールドとして output1output2タイプ=テキスト で定義します。

  3. CAIプロセスが次の順に実行されるように各種ステップを追加します。
    image.png

  4. 各割り当てステップで、それぞれの出力フィールド output1output2計算式 として fn:current-dateTime() を指定します。この指定により、それぞれの出力フィールドに現在時刻が設定されます。
    image.png

  5. 待機ステップの各プロパティを次のように設定します。
    ●続行 = 待機期間後
    ●待機期間 = 10 秒
    image.png

CAIプロセスの実行

以下、curlコマンドを例とした動作確認結果です。output1とoutput2に10秒の差異が確認できます。

curlコマンドと実行結果
// curl コマンド
curl https://<IICS・CAIサーバー>/active-bpel/public/rt/<Org ID>/recipe-pca-stepWaitSleep

// 実行結果(見やすいように整形しています)
{
"output1":"2024-02-04T21:59:16.045Z",
"output2":"2024-02-04T21:59:26.048Z"
}

待機ステップの留意点

CAIプロセスのデプロイ先を クラウドサーバー としている場合、設定変更できない 95秒のタイムアウト動作 に留意します。通常、CAIプロセスの実行は処理完了後に実行結果を返す同期モードですが、このタイムアウトが発生するとCAIプロセスは非同期モードに切り替わりHTTP 500をレスポンスとして返します(この例で 938917518365007872 はCAIのプロセスID)。

タイムアウト時の動作
$ curl https://<IICS・CAIサーバー>/active-bpel/public/rt/<Org ID>/recipe-pca-stepWaitSleep | jq

{
  "error": {
    "code": 500,
    "message": "Timeout waiting for reply from process ID 938917518365007872 (recipe-pca-stepWaitSleep)."
  }
}

次のKBはタイムアウト動作に関する技術情報です。

非同期モードとして実行されたCAIプロセスのステータスを確認するには、次の記事で紹介しているREST APIを利用します。

参照

13
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?