Blue Prismのランタイム・リソースの種類、およびスケジューラーとの関係
Blue Prismでスケジューラーを動かす際には、ランタイム・リソースに注意を払う必要があります。
こういう基本的なことを理解していない人のために、簡単なメモ書きを残しておきたいと思います。
。。まぁ、俺なんですけどね、その基本を理解していない人っていうの。
スケジューラーを使うための条件: publicなランタイム・リソース
Blue Prismをインストールして、ライセンス・ファイルを設定すると、あたかも全機能が使えそうに見えます。
おお、じゃあスケジューラーも使えるんだよね、ということで、Blue Prismを起動した際に立ち上がっているランタイム・リソースにプロセスを割り当て、スケジュールの設定をします。
ちゃんとタイムテーブルに出てきますね。それでは、決められた時間が来るのを待ちます。ワクワク…
。
。。
。。。何も起こりませんね。製品バグ?
製品バグではありません。実は、スケジューラーを使うためには条件があります。
条件は、製品ドキュメントのスケジューラーガイド(Guide to the Scheduler)に記載されています。
Blue Prism - Guide to the Scheduler (Japanese) (Log in | Blue Prism Portal)
ガイドによると、スケジューラーを使うための複数の条件の一つとして、以下のような一文があります。
スケジューラーは、公開リソースPC上でのみセッションを作成し、実行できます(つまり、「public」スイッチで開始するリソースPC。例:Automate.exe /public /resourcepc)。
今回は、この公開リソースPC(つまり、publicオプションで起動されたランタイム・リソース)という条件に引っかかっています。
ランタイム・リソースの3つの起動オプション
ランタイム・リソースは、実は起動時に3種類のオプションを選べます。
ヘルプ(Blue Prismで?マークのアイコンを押して起動するメニュー)をクリックして検索を選び、Blue Prism Resource PC Modesで検索すると、3種類のオプションの説明があります(英語だけど)。
ヘルプの内容を要約すると以下の通りです(ちょっと意訳してます)。
- publicオプション: 任意のランタイムリソース(PC)から、任意のBlue Prismユーザーがプロセスを実行できる状態で、ランタイムリソースを起動する(6.3.xからは、適切な権限付与も必要です)
- localオプション: そのマシン上からしか視えない状態で、ランタイムリソースを起動する
- exclusiveオプション: 特定のユーザーしかプロセスを実行できない状態で、ランタイムリソースを起動する
Blue Prismにライセンス・ファイルを入れて起動すると、ランタイム・リソースがひとつ、自動的に起動していると思います。
これはパーソナル・ランタイム・リソースと呼ばれており、実際はおそらく3つめの起動オプション(exclusive)で起動されています。
つまり、Blue Prismを起動したときに自動的に起動されるランタイム・リソースは、publicオプションで起動されていないので、スケジューラーがセッションを作成できない(プロセスを実行できない)わけなんですね。
ランタイム・リソースをpublicオプションで起動する
じゃあ、スケジューラーのテストをしたいときはどうするの…という話ですが、これはBlue PrismをインストールしたPCで、ランタイム・リソースをもう一つ、起動すればOKです。
えっ、1つの物理(または仮想)デスクトップ上に、複数のランタイム・リソースを?
できらぁ!
…これは普通にできます。
受信ポート番号(デフォルト:8181は、自動的に起動したパーソナル・ランタイム・リソースが使っているはずです)だけは被ってはいけないので、たとえば以下のようなコマンドを打てば、そのPC上に新しいランタイム・リソースをpublicオプションで起動できます。
"C:\Program Files\Blue Prism Limited\Blue Prism Automate\Automate.exe" /resourcepc /public /dbconname "APサーバ接続名" /port 8182
このリソースにプロセスを割り当てるようにタスクを設定すれば、定刻起動できるようになります。
やったぜ。
さて、ちょっと脱線しますが、、
ほーん、じゃあ、港区女子も真っ青の超ハイスペなデスクトップに、大量のランタイム・リソースを起動すれば、Blue Prismは1ライセンスだけで無双できるじゃん…と考えたあなた、あなたは実に頭がキレる。もう怖いほどだ。嘘喰いとかに出てきてもおかしくない。
しかし、当然ながら答えはノーです。この辺りはライセンスの課金の仕組みの話ですね。いつか別記事で書けるといいですね。
まとめ
- Blue Prismのスケジュール機能は、Blue Prism(正確にはインタラクティブ・クライアント)を起動すると自動的に立ち上がっているランタイム・リソースでは実行できない
- ランタイム・リソースには3種類の起動オプションがあり、publicオプションで起動しないとスケジューラー機能を使えない
- ランタイム・リソースをpublicオプションで起動することは、しごく簡単。コマンドを打てば起動できる。ひとつのデスクトップに複数のランタイム・リソースを起動することも可能
つい最近、知り得た知識を、あたかも昔から知っていたかのように振舞ってマウンティングしていくスタイル…基本ですな。
そしてこの記事は国際線の飛行機の中で書きました。飛行機の中で使える衛星電波を利用したwifiは、(当たり前ですが)帯域が超細い...何事も経験ですな。