Blue Prism で遅延実行フレームワークを構築する①(作業監督を作る)
ちょっと間が空いてしまいましたが、
サボっていたわけではないんです。。
内職の限りを尽くしていただけなんです。。
前回の記事👇
作業監督を作る
前回、遅延実行フレームワークの
大枠はこんな感じ👇と書きました。
今回は、遅延実行フレームワークの
中核になる作業監督(プロセス)を
作っていきます。
ただ、結論から言うと、
作業監督(プロセス)は、
以前に作ったリアルタイム起動
フレームワークから大部分を
流用できます。
作業監督というのは、
- キューの中身を見る
- アイテムがあったら、アイテムから起動したいプロセス名を取り出す
- ランタイムリソースが空いてるかを確認する
- 空いてたら、プロセスを実行し、セッションIDを取得する
- セッションIDをキューに入れる
・・・という処理なので、
3~5はリアルタイム起動
フレームワークから流用でき、
結局は1と2を実現する、
割と小さなプロセスを一本、
作ればいいだけです。
作業監督のポイント
アイテムのデキュー
作業監督の最初のポイントは、
アイテムのデキューです。
プロセスの断片はこんな感じ👇。
- キューからアイテムを取り出して、
- キューに書かれているプロセス名を読み取って実行し、
- うまくいったらアイテムを完了する。
そういう処理ですね。
安全な停止とアイテムの遅延・キューの再確認間隔
作業監督は、一度、起動したら
半永久的に動き続ける想定で
作っています。
なので、
- キューの中身を見て、起動しようとしたが、ランタイムリソースが足りなくて起動に失敗したら、しばらくしてからもう一度、起動を試みる(アイテムの遅延)
- キューの中身を見て、何もなかったら少し待ってから再確認する
という動きをします。
このとき、半永久的に動き続ける
作業監督(プロセス)を、安全に
停止させる仕組みが必要です。
ただ、これは Blue Prism の標準機能
に含まれているので、簡単に実装
できます。
詳細は👇を参照ください。
また、その際のアイテムの遅延や、
キューの再確認の間隔を
データアイテムにしています。
プロセスの断片はこんな感じ👇
作業監督の全体像
全体像は、以下👇のようになります。
この後の流れ
次は、作業監督のテストを
したいと思います!
一応、それで遅延実行フレームワークは
だいたい、完成してしまうのですが、、
それだけだと味気ないから、
リアルタイム起動フレームワークと
合体させて、
リアルタイム起動・遅延実行フレームワーク
を作ってみようかな。。
ガンダムDX合体セットみたいな感じで。。
(古い)
次回👇。
まとめ
- Blue Prism で実現する遅延実行フレームワーク、第2回
- 今回は、作業監督(プロセス)を作成しました
- 次回は、作業監督をテストしていきたいと思います☆
ToDoリストがパンクしてんだけど。。
全く追いついてないわ。。