はじめに
待機ステップを利用することで、実行中の処理を一時的に停止できます(プログラミングにおけるSleep処理
)。この記事では次のポイントを確認します。
- 待機ステップとは
- 待機ステップの利用と動作確認
- 待機ステップの留意事項
なお、この記事は次の記事の内容を理解していることを前提としています。
待機ステップとは
待機ステップを利用すると、CAIプロセスの実行を任意のステップ位置で待機(Sleep)できます。待機方法には次の2つのタイプがあります。
- 特定の時間 ... 指定 時刻 まで待機する
- 待機期間後 ... 指定 時間 (例えば30秒)が経過するまで待機する
待機ステップの利用と動作確認
CAIプロセスの作成
次の手順では、プロセス起動時の時刻を取得、待機ステップにより10秒待機後の時刻取得して、2つの時刻を呼び出し元に返すCAIプロセスを作成しています。
-
CAIプロセスを次の設定で作成します。
- 名前を recipe-pca-stepWaitSleep とする
- 匿名アクセス を許可する
- クラウドサーバー にデプロイする
-
出力フィールドとして output1 と output2 を タイプ=テキスト で定義します。
-
各割り当てステップで、それぞれの出力フィールド output1 と output2 に 計算式 として
fn:current-dateTime()
を指定します。この指定により、それぞれの出力フィールドに現在時刻が設定されます。
CAIプロセスの実行
以下、curlコマンドを例とした動作確認結果です。output1とoutput2に10秒の差異が確認できます。
// 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を利用します。