Automationどもども、ジャナイホーによるシリーズ「プロセスの任意実行。約束の時間を待つばっかりは、いやなの。私から、私のタイミングで、始めたいの。コマンドライン実行について、です。PrismプロセスをWindowsコマンドラインから実行するには、AutomateC.exeというプログラムを使います。プロセス名称を指定して、実行する方法は、こちら。www.ebocean.workAutomateCのコマンドライン実行には、色々なオプションを指定出来ます。頻繁に使うのは、以下でしょうかね。実行したいプロセス名称を指定します。特定のラインタイムリソースで実行します。Prismにログインするユーザアカウントを指定します。このユーザでプロセスが起動されます。ユーザ名の後ろにパスワードも指定します。(/ssoというオプションも指定可能です。プロセスが起動する際に必要とするパラメータ(もしあれば)の値を指定します。実効後出力されるセッションIDをもとに、その指定したセッションIDのプロセスの実行状況を表示させます。指定したセッションIDのプロセスが出力したセッションログを表示させます。接続先データベースコネクションを指定します。前述の/runオプションでプロセス名を指定して起動するのではなく、スケジュール名を指定してそのスケジュールに設定されたプロセスを実行する形で起動します。その他、指定できるコマンドラインオプションの仕様については、BluePrismソフトウェアのヘルプメニューから参照する、オンラインヘルプに記載があります。Optionsまた、Version6.5から「/help」と指定して実行すると表示される情報も日本語化されています。www.ebocean.workいつも同じオプションを指定して、プロセスを実行するAutomateC.exeを毎回、Windowsコマンドプロンプトからたたくのではなく、これを記載したバッチファイル(.bat)をデスクトップ上に作っておく、という手もあります。プロセスを実行したいときに、ユーザがこのバッチファイルをダブルクリックすれば、プロセスが実行される、という訳です。Prismがインストールされていないとダメですよ、念の為。AutomateC.exeが正常に実行された場合AutomateCをコマンドラインから実行した結果、出力される内容は主にこんな感じです。正常にプロセスが起動した場合、以下のような結果が出力されます。Session(セッションID)にて、当該プロセスの実行状況をユニークに特定し、ログや結果を参照することが出来ます。resourceにて、実際にプロセスが実行されたランタイムリソースの名称を特定することが出来ます。ここで、一つ注意して頂く点があります。AutomateCを実行して数秒後に上記のような結果が返ってきますが、これは、プロセスが完了したことを示しているわけではありません。Prism)が「取り敢えず、指定されたプロセスに実行依頼かけたよ」と返事をしてくれただけだと解釈して下さい。「プロセスが完了したよ」と言ってくれているわけではありません。見るには、コントロールルームを開いてみるか、もしくは、先述のオプション「/status」「/getlog」を指定して、AutomateCを実行してみる、ということになります。AutomateC.exeが正常に実行されなかった場合もし、AutomateCがプロセスの起動に失敗した場合、以下のようなメッセージが出力されます。BluePrismのログインユーザアカウントもしくはパスワードが不正の場合:プロセス名称が不正などで、プロセスが見つからない場合:ランタイムリソースが他のプロセス実行中あるいは待機中、ライセンス不足などで、実行できない場合:正常時の注意点で示したのと同様、プロセス内で発生した例外処理は、上記のメッセージではキャッチできません。/getlogオプションを利用するか、コントロールルームでセッションログを確認する必要があります。プロセスに引数(パラメータ)の値を渡したいもし、構築したプロセスにスタートアップパラメータを指定するようになっている場合、AutomateC実行時に「/startp」パラメータを指定します。パスワード」って感じに指定する部分ですね。これは、「/sso」オプションを指定する際は不要です。これはあまりセキュリティ上、好ましくありません。これに対応するには、以下の役割を設定した、コマンドライン実行専門のユーザアカウントを準備することで、少しでも安全な状況にしておくことが出来ます。Resourcesというものがありますので、これを付与したユーザアカウントを用意しておくと、最低限の実行権限のみ付与された状態となります。このユーザをコマンドライン実行用に公開しましょう。スケールし難いこのAutomateCを実行するコマンドライン実行を、ユーザに任意実行をさせる仕組みとして、ユーザに公開するデメリットとして、「スケールし難い」という大きな問題点があります。Prismがインストールされているマシンが少ない、動かすプロセスも数はそれほど多くない、ライセンスも少ない、といったような環境)で、ある程度、近くのひとなどで実行やメンテナンスにおいて、融通が利くようなケース、スモールスタートしている場合などで、比較的手っ取り早く、任意実行を実現するには、有効な手段です。実行させたいプロセスが増えていったときに、管理の手間が半端なく誰かの作業を圧迫することになります。ユーザからのニーズは確実に増えていきます。やれ「終わったら教えて欲しい」だの、やれ「ログが分かり難い」だの、やれ「ちょっといじったら上手く動かない」だの、「使いたいと思った時に、ライセンスかリソースが一杯で使えない」だの、、、そうなったときに、いずれかのタイミングで、この方式を卒業することを考えなくてはならないこともあるかもしれません。その点だけ、頭の片隅に入れておいて頂けると、私は、嬉しいです。まとめAutomateC.exeによるコマンドライン実行は、「任意実行」に対する簡易的なシンプルなソリューションです。様々なオプションを指定可能です。バッチファイルとして作成しておいて、簡易実行させる仕組みを作れます。ユーザに実行のタイミングを任せたい、緊急で、即時実行したいというニーズがある、コントロールルームをユーザに公開したくない、といった要件を満たせます。他のシステムから呼び出したい、という要件に対する、一つの有効な手段でもあります。Slackやチャットボットとの連携として利用することも可能です。それを実現した素晴らしい記事が下記です。(勝手にリンク張らせて頂きました)qiita.comおぉー。本シリーズ、次回の記事は、「APIによる実行」です。認証情報を更新するなんかもう力尽きた。年明け2日目なんだけどね。「プロセスの任意実行。「プロセスの任意実行。公開しました月別アーカイブはてなブログをはじめよう!EnterpriseBlueOceanさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。