Blue Prism を Web API から呼ぶときのアレコレ(マニア向け)①
君の言いたいことはわかる。
「どこに需要があるのか?」
・・・だろ。
だがなぁ、そもそものところを考えてみろよ。
神谷町RPAブログは 2018/4 の開設以来、
需要を考えた記事なんか、
ほんの気まぐれ程度にしか存在していない。
このブログに誰得?なんて疑問は存在しない。
・・・存在するのは冒険者だけだッ!
起動リクエストは蓄積されるのか
まずはこいつを見てほしい。
こいつをどう思う?
SoapUI を使って、HTTPリクエストを量産し、
Blue Prism に送っている様子だ。
SoapUI 側の呼び出しが完了しても、
Blue Prism 側の処理は、しばらく続いているが、
エラーにはなっていない。
※ エラーになってない、つまり、ちょっと待たされはするが、
きちんとHTTPレスポンスが返ってる、ということです。
Web API 経由のリクエストは、タイムアウトまで待ってくれる
これは Blue Prism がHTTPリクエストをキューイングしている
・・・というより、HTTP通信の基本的な仕組みが
適用されているからだと思われる。
(たぶん)
つまり、Blue Prism が処理可能になるまで、
HTTPリクエストはしばらく待機してくれるのである。
(今回のケースでは、ひとつのセッションでシリアルに処理をしている)
もちろん、待機時間には限界があり、
処理能力を超えるHTTPリクエストを送り続けると
HTTPリクエストはタイムアウトしてエラーになります。
タイムアウト値は、Blue Prism 側は設定がなく、
呼び出し側で制御する必要があるようです。
(たぶん)
キューイングっちゃあ、キューイングですけど、
ワークキューとは、また別の話ですね。
(参考)コントロールルームでの起動
コントロールルームでドラッグ&ドロップをした場合、
起動リクエストを待ってくれることはない。
ランタイムリソースがビジーの場合は、
即座にエラーが返される。
(参考)スケジューラーでの起動
スケジューラーも即時にエラーが返ったはず。
(たぶん)
(参考)AutomateC.exe での起動
加筆予定。
まとめ
- Webサービスで Blue Prism に起動リクエストを送った場合、リソースがビジーでも、しばらく待機してくれる
次回の記事はセッションの消費に関する、
プロセスとオブジェクトの違いについて書きたいと思います☆
さっきの動画を見て気づいた方もいらっしゃると思いますが、
複数のリクエストを送っているのに、セッションがひとつしかできていない。
これは、オブジェクトをWebサービスとして公開しているからです。
その次の記事は、手動初期化かな。。
Web サービス呼び出しについては、
Blue Prism Dispatch Framework で細かく語られており、
大変、参考になるので興味のある方はご一読を!
次回👇