Blue Prism でオブジェクト単位、アクション単位のタイムアウトを設定する
RPAブーム、いろいろと是非はあるとは思うんですけど、
昔のSOA(Service Oriented Architecture)ブームに
比べたら100万倍はマシなような・・・
(旧石器時代を生きたオッサンによる、個人の見解です)
オブジェクト単位での強制タイムアウト設定
Blue Prism の Wait(待機)ステージを使うと、
特定の要素の描画や、画面全体の描画を待てます。
ただし、作り方やデータの内容によっては、
無限ループになり永遠に動き続けることも可能です。
こういったケースを避けるために、
オブジェクト単位、アクション単位で強制的なタイム
アウトを発生させることができます。
Blue Prism 全体での設定場所は↓。
システム>システム>システム全体の設定
>一般項目>デフォルトのセッション警告時間(分)
で設定できます。
オブジェクト単位では↓。Initialise アクションのノート
部分を開いて、一番下に設定できます。
ここで、先ほどの設定を上書きできるようです。
アクション単位では↓。アクションプロパティの中です。
ここも一番下の行ですね(Warning threshold)。
やってみた
全体タイムアウトの設定をして、検証してみました。
上で設定したタイムアウトが到来した場合、
コントロールでの見え方は、こんな風になります。
Status: Warning (紫)になったプロセスは、その後、Terminateで終わります。
ログはこんな感じです。
エラーメッセージはこちら。
ERROR: Internal : Unexpected error Error in web service - 操作はタイムアウトになりました。
やったぜ。
注意点
プロセスの中で、単にSleepさせる(Utility - General: Sleep)
だけだと、時間がカウントされず、タイムアウトが起きません。
要は、セッション警告時間を1分で設定して、Sleepで
60秒以上、停止させても、タイムアウトエラーは発生しません。
まとめ
- Blue Prism でオブジェクト単位、アクション単位のタイムアウトを設定できる
- タイムアウトが到来すると、Status は Warning > Terminate となり、異常終了する
いや、だって・・・
オブジェクト指向や SOA(BPM) は、
結構な空騒ぎだったようにも思います。。
クラウド、RPAは、それなりに奥の深い世界
ではありますが、入り口が凄くわかりやすい!
ですよね。
AI は・・・どっちなんだろ・・・?